LINUX.ORG.RU

История изменений

Исправление kirk_johnson, (текущая версия) :

По значению первого октета (байта) можно определить сколько байт выделено под символ и организовать сдвиг дальней границы индексов. То есть для пользователя индексы будут означать номер символа, а не номер байта по счёту.

Именно так. Символа, не графемы.

Что за общий случай имеется ввиду?

В общем случае графема (видимое пользователю представление юникодной подстроки) состоит из нескольких символов. То есть на экране у тебя один символ, а в коде – два. Два символа, не байта.

Исправление kirk_johnson, :

По значению первого октета (байта) можно определить сколько байт выделено под символ и организовать сдвиг дальней границы индексов. То есть для пользователя индексы будут означать номер символа, а не номер байта по счёту.

Именно так. Символа, не графемы.

Что за общий случай имеется ввиду?

В общем случае графема (видимое пользователю представление юникодной подстроки) состоит из нескольких символов. То есть на экране у тебя один символ, а в коде – два. Символа, не байта.

Исходная версия kirk_johnson, :

По значению первого октета (байта) можно определить сколько байт выделено под символ и организовать сдвиг дальней границы индексов. То есть для пользователя индексы будут означать номер символа, а не номер байта по счёту.

Именно так. Символа, не графемы.

Что за общий случай имеется ввиду?

В общем случае графема (видимое пользователю представление юникодной подстроки) состоит из нескольких символов. То есть на экране у тебя один символ, а в коде – два.