Как перебрать кластеры графем Unicode в Rust?
Я изучаю язык Rust и был удивлён тем, что Rust различает только байтовые последовательности UTF-8, но не фактические графемные кластеры (то есть диакритические знаки считаются отдельными символами).
Например, Rust может преобразовать входной текст в вектор следующим образом (с помощью “नमस्ते”.chars()
):
['न', 'म', 'स', '्', 'त', 'े'] // 4 и 6 - это диакритические знаки, и они не должны быть отдельными элементами
Как же мне получить вектор вида:
["न", "म", "स्", "ते"]
Подскажите, пожалуйста, как это можно реализовать!
Python DictWriter: Запись UTF-8 закодированных CSV файлов
UTF-8 на всех уровнях!
Почему println! не работает в юнит-тестах Rust?
Что означает "Sized не реализован"?
Доступ к последнему элементу Vec или среза в Rust