Конвертер Unicode

Екрановуйте текст як послідовності JavaScript \uXXXX / \u{HEX}, декодуйте змішані екранування назад у текст і перевіряйте кожен символ як кодову точку: U+ hex, десяткове значення, байти UTF-8, одиниці UTF-16 і екранування JS. Кодові точки поза BMP (емодзі) ніколи не розбиваються на половини сурогатів.
Уся обробка відбувається локально у вашому браузері — ваші дані ніколи не вивантажуються на жоден сервер.
Стиль екранування:
Кодування: текст розбивається на кодові точки Unicode (тож емодзі лишаються цілими), і кожна записується як послідовність екранування JavaScript.
Декодування: кожну послідовність \uXXXX, \u{hex} або U+hex (у верхньому або нижньому регістрі) перетворено на її символ. Сусідні екранування сурогатних пар об'єднуються в одну кодову точку. Неекрановані фрагменти тексту лишаються без змін.
Інспектор: кожна кодова точка стає одним рядком, розділеним табуляцією: символ, U+HEX, десяткове значення, байти UTF-8, одиниці UTF-16 і екранування JS. Усю таблицю можна скопіювати з виводу або завантажити.
Ctrl+Enter у полі введення запускає активний режим.
Оберіть «Кодувати», «Декодувати» або «Інспектор» і запустіть. Уся обробка залишається у вашому браузері.
Як читати стовпці інспектора:
U+HEX — кодова точка в шістнадцятковій системі; десяткове — те саме число в десятковій. Байти UTF-8 показують від одного до чотирьох байтів, які займає символ у форматі UTF-8 (напр. 中 = E4 B8 AD). UTF-16 показує одну або дві 16-бітні одиниці, які символ використовує всередині рядка JavaScript (емодзі поза U+FFFF потребують двох одиниць, «сурогатної пари»: напр. U+1F600 = D83D DE00). Екранування JS — рекомендована форма символу для вихідного коду.
Що завантажує кнопка «Зразок»:
Приклад, що належить до вашого режиму, ніколи не один фіксований текст, бо один текст не може обслуговувати всі три. Кодувати і Інспектор приймають звичайні символи, тож вони отримують Hello 中文! 🎉 — ASCII, CJK, широкий знак і один емодзі. Декодувати приймає послідовності екранування, а звичайне речення їх не містить: воно було б повернуте слово в слово, і режим не мав би що показати, тож Декодувати отримує Say 中文 \u{1F600} U+0041 🎉 OK, у якому є по одному з кожної форми, яку приймає декодер (пара \uXXXX у нижньому регістрі, дужки \u{HEX}, форма U+hex, сусідня сурогатна пара і слова, що не є екрануваннями). Рядок під полями показує очікуваний результат; у режимі кодування він також слідує за стилем екранування і прапорцем ASCII, тож інші три стилі можна побачити, знову натиснувши «Зразок».
Що таке Unicode?

Unicode — це єдиний каталог, що присвоює кожному символу кожної системи письма номер, його кодову точку, від U+0000 до U+10FFFF — 1 114 112 можливих позицій, розташованих у 17 площинах по 65 536. Перша площина, Basic Multilingual Plane (BMP), містить символи більшості живих мов; більшість емодзі й багато історичних письм розташовані на вищих («поза BMP») площинах.

UTF-8, UTF-16 і UTF-32 — не конкуруючі набори символів, а три способи серіалізувати ці числа в байти — режим Інспектора показує всі три для одного символу поруч із формами екранування JavaScript.

Unicode називає символи і нумерує їх; UTF-8, UTF-16, UTF-32 і екранування \uXXXX — лише різні способи записати ті самі числа.