История изменений
Исправление saahriktu, (текущая версия) :
с каких пор <<поиск и вырезание нужных кусков текста>> перестал быть абстрагирован от кодировки
С тех пор как юзер пишет на Си и предпочитает работать с отдельными байтами.
какие ещё кодпоинты в символах текста?
При использовании юникода - юникодные. Вы бы почитали про юникод. В нём нет «кодов символов» как таковых, если быть точным. В нём есть codepoint'ы. После чтения которых из них нужно собирать символы. Потому, что модификаторы. Некоторые просто не хотят разбираться, поскольку это усложнит им жизнь. Но, их программы. если они разбирают юникодный текст, не поддерживают 100% юникода, а только его часть. Такие люди могут считать, что любой codepoint, который не относится к модификатору, - это символ. Но, при таком подходе невозможно рассчитать ширину текста. Потому, что модификаторами любое кол-во codepoint'ов может быть склеено на _одну видимую символьную позицию_. И так может быть сколько угодно по тексту. И если такое не разбирать, то ни о какой 100%-й поддержке юникода говорить нельзя.
С однобайтными кодировками таких проблем нет. В их случае не надо столько плясать с бубнами чтобы поддерживать 100% однобайтной кодировки.
Исходная версия saahriktu, :
с каких пор <<поиск и вырезание нужных кусков текста>> перестал быть абстрагирован от кодировки
С тех пор как юзер пишет на Си и предпочитает работать с отдельными байтами.
какие ещё кодпоинты в символах текста?
При использовании юникода - юникодные. Вы бы почитали про юникод. В нём нет «кодов символов» как таковых, если быть точным. В нём есть codepoint'ы. После чтения которых из них нужно собирать символы. Потому, что модификаторы. Некоторые просто не хотят разбираться, поскольку это усложнит им жизнь. Но, их программы. если они разбирают юникодный текст, не поддерживают 100% юникода, а только его часть. Такие люди могут считать, что любой codepoint, который не относится к модификатору, - это символ. Но, при таком подходе невозможно расчитать ширину текста. Потому, что модификаторами любое кол-во codepoint'ов может быть склеено на _одну видимую символьную позицию_. И так может быть сколько угодно по тексту. И если такое не разбирать, то ни о какой 100%-й поддержке юникода говорить нельзя.
С однобайтными кодировками таких проблем нет. В их случае не надо столько плясать с бубнами чтобы поддерживать 100% однобайтной кодировки.