История изменений
Исправление
kirk_johnson,
(текущая версия)
:
По значению первого октета (байта) можно определить сколько байт выделено под символ и организовать сдвиг дальней границы индексов. То есть для пользователя индексы будут означать номер символа, а не номер байта по счёту.
Именно так. Символа, не графемы.
Что за общий случай имеется ввиду?
В общем случае графема (видимое пользователю представление юникодной подстроки) состоит из нескольких символов. То есть на экране у тебя один символ, а в коде – два. Два символа, не байта.
Исправление
kirk_johnson,
:
По значению первого октета (байта) можно определить сколько байт выделено под символ и организовать сдвиг дальней границы индексов. То есть для пользователя индексы будут означать номер символа, а не номер байта по счёту.
Именно так. Символа, не графемы.
Что за общий случай имеется ввиду?
В общем случае графема (видимое пользователю представление юникодной подстроки) состоит из нескольких символов. То есть на экране у тебя один символ, а в коде – два. Символа, не байта.
Исходная версия
kirk_johnson,
:
По значению первого октета (байта) можно определить сколько байт выделено под символ и организовать сдвиг дальней границы индексов. То есть для пользователя индексы будут означать номер символа, а не номер байта по счёту.
Именно так. Символа, не графемы.
Что за общий случай имеется ввиду?
В общем случае графема (видимое пользователю представление юникодной подстроки) состоит из нескольких символов. То есть на экране у тебя один символ, а в коде – два.