История изменений
Исправление saahriktu, (текущая версия) :
Для выделения подстрок нужно разбирать строки на отдельные символы. Это проще делать через специализированные мультибайтные инструменты как wchar.h и ICU. А без них остаётся разбирать по байту руками, да ещё и прикручивать таблицу модификаторов, чтобы случайно не оказаться посреди символа. Это если по-хорошему. А на практике таблицу модификаторов прикручивают не всегда. А потому внимательные юзеры юникода замечают как софт неправильно делит юникодные строки. Чего могло бы не быть при привлечении мультибайтных функций и ICU.
С однобайтными кодировками таких проблем никогда нет.
Исходная версия saahriktu, :
Для выделения подстрок нужно разбирать строки на отдельные символы. Это проще делать через специализированные мультибайтные инструменты как wchar.h и ICU. А без них остаётся разбирать по байту руками, да ещё и прикручивать таблицу модификаторов, чтобы случайно не оказаться посреди символа. Это если по-хорошему. А на практике таблицу модификаторов прикручивают не всегда. А потому внимательные юзеры юникода замечают как софт неправильно делит юникодные строки. Чего могло бы не быть при привлечении мультибайтных функций и ICU.