Максимальный размер в байтах одного 16-битного символа в представлении UTF-7

Какой будет максимальный размер в байтах одного символа UTF-16 (2-байтовый символ, т.е. char введите.NET) сохранено в формате UTF-7?

Вот что я нашел в Википедии:

5 для изолированного случая внутри серии однобайтовых символов. Для прогонов 2 2⁄3 на символ плюс заполнение, чтобы сделать его целым числом байтов плюс два, чтобы начать и закончить цикл

http://en.wikipedia.org/wiki/Comparison_of_Unicode_encodings

1 ответ

Решение

Для одной кодовой единицы UTF-16 единственное число, на которое нужно обратить внимание, это 5.

По сути, в UTF-7 символы, не входящие в его "безопасный" алфавит, преобразуются в UTF-16, а затем преобразуются в модифицированный Base64. С помощью одной кодовой единицы UTF-16 она преобразуется в 2 2/3 единицы Base64, затем дополняется до полного 3. В начале и, возможно, в конце добавляется escape-символ, обозначающий его как последовательность UTF-7, в результате чего максимум 5 байтов.

Другие вопросы по тегам