[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
Строка 125:
== Пятый и шестой байты ==
Изначально кодировка UTF-8 допускала использование до шести байтов для кодирования одного символа, однако в ноябре 2003 года стандарт RFC 3629 запретил использование пятого и шестого байтов, а диапазон кодируемых символов был ограничен символом <code>U+10FFFF</code>. Это было сделано для обеспечения совместимости с UTF-16.
 
== Возможные ошибки декодирования ==
Не всякая последовательность байтов является допустимой. Декодер UTF-8 должен понимать такие ошибки:
* Недопустимый байт.
* Байт продолжения (10xxxxxx) без начального байта.
* Отсутствие нужного количества байтов продолжения 10xxxxxx — например, двух после 1110xxxx).
* Строка обрывается посреди символа.
* Неэкономное кодирование. (Существует вариант UTF-8, который кодирует символ 0 как 1100.0000 1000.0000, он позволяет символ 0 в нуль-терминированных строках.)
* Кодовая последовательность, ведущая к недопустимой для Юникода кодовой позиции.
 
== Примечания ==