CESU-8
-
Схема кодирования совместимости для UTF-16 (CESU-8)
- CESU-8 является вариантом UTF-8, описанным в Unicode #26.
- Кодовые точки BMP кодируются так же, как в UTF-8.
- Дополнительные символы кодируются как суррогатные пары, а затем каждая пара кодируется в UTF-8, требуя 6 байт на символ.
- CESU-8 эквивалентно старому конвертеру UCS-2 в UTF-8.
-
Кодирование символов вне BMP
- Кодировка символов вне BMP имеет специфический формат.
- Байты 0xF0-0xF4 не отображаются в CESU-8 из-за использования в UTF-8.
-
Статус CESU-8
- CESU-8 не является частью официального стандарта Unicode, а используется для внутренней обработки.
- Не рекомендуется для внешнего обмена данными из-за уязвимостей в межсайтовых сценариях.
-
Поддержка CESU-8 в различных контекстах
- В HTML-документах поддержка CESU-8 запрещена стандартами W3C и WHATWG.
- В Java CESU-8 используется с модифицированной кодировкой символа NUL.
- Oracle использует CESU-8 для своего набора символов «UTF8», а начиная с версии 9.0 доступен стандартный UTF-8 через набор символов «AL32UTF8».
Полный текст статьи: