Пример объединяет простой ASCII, готовое акцентированное BMP-значение и дополнительный emoji. Он проверяет разные ширины UTF-8 и доказывает, что scalar, UTF-16 и байты отвечают на разные вопросы. Тот же набор используется по умолчанию и в автоматическом acceptance-тесте, поэтому статья и инструмент не расходятся.

Загрузите пример разной ширины

Откройте инспектор и выберите A · é · 😀 или вставьте три значения без разделителей. Режим разбора сохраняет textarea. Первая строка: U+0041, decimal 65, UTF-8 41, UTF-16 0041. Вторая: U+00E9, decimal 233, UTF-8 C3 A9, UTF-16 00E9. Правила locale не меняют значения.

Проверьте дополнительную строку

Третья строка — одно значение U+1F600, decimal 128512. UTF-8 равен F0 9F 98 80, UTF-16 — D83D DE00. В escape используется \u{1F600}, прямо называя scalar, а не два отдельных суррогата. Итог: три scalar, четыре единицы UTF-16 и семь байтов UTF-8.

Декодируйте скопированную последовательность U+

Скопируйте U+0041 U+00E9 U+1F600, включите режим кодовых точек и запустите. Собранный текст должен точно равняться Aé😀, а строки совпасть с исходным разбором. Запятые или 0x должны дать ошибку без исправления. Round trip подтверждает грамматику и кодирование, но не одинаковый glyph во всех системах.