Convertor Unicode

Escapează textul ca secvențe JavaScript \uXXXX / \u{HEX}, decodează escape-urile amestecate înapoi în text și inspectează fiecare caracter ca punct de cod: U+hex, zecimal, octeți UTF-8, unități UTF-16 și escape-uri JS. Punctele de cod astrale (emoji) nu sunt niciodată împărțite în jumătăți de surogat.
Toate prelucrările au loc local, în browser — datele nu se încarcă pe niciun server.
Stil de escape:
Codificare: textul se împarte în puncte de cod Unicode (astfel încât emoji-urile rămân intacte), iar fiecare este scris ca o secvență de escape JavaScript.
Decodare: fiecare secvență \uXXXX, \u{hex} sau U+hex (majuscule sau minuscule) este convertită în caracterul său. Perechile surogate de escape alăturate sunt unite într-un singur punct de cod. Textul neescapat trece neschimbat.
Inspector: fiecare punct de cod devine un rând separat prin tab: caracterul, U+HEX, zecimal, octeții UTF-8, unitățile UTF-16 și escape-ul JS. Tabelul întreg se poate copia din ieșire sau descărca.
Ctrl+Enter în intrare rulează modul activ.
Se alege Codificare, Decodare sau Inspector și se rulează. Totul rămâne în browser.
Cum se citesc coloanele inspectorului:
U+HEX este punctul de cod în hexazecimal; zecimal este același număr în baza 10. Octeții UTF-8 arată între unu și patru octeți pe care îi ocupă caracterul când este scris ca UTF-8 (de ex. 中 = E4 B8 AD). UTF-16 arată una sau două unități de 16 biți pe care le folosește caracterul într-un șir JavaScript (emoji-urile de peste U+FFFF au nevoie de două unități, o „pereche de surogate”: de ex. U+1F600 = D83D DE00). Escape-ul JS este forma recomandată pentru codul sursă a caracterului.
Ce încarcă butonul Exemplu:
Exemplul aparține modului în care se află, nu unui text fix, deoarece un singur text nu poate servi toate cele trei moduri. Codificare și Inspector iau caractere simple, deci primesc Hello 中文! 🎉 — ASCII, CJK, un semn de lățime întreagă și un emoji. Decodare ia secvențe de escape, iar o propoziție simplă nu conține niciuna: ar fi returnată cuvânt cu cuvânt, iar modul nu ar avea ce arăta, deci Decodare primește Say 中文 \u{1F600} U+0041 🎉 OK, care conține câte o formă din fiecare pe care o acceptă decodorul (o pereche \uXXXX cu minuscule, o paranteză \u{HEX}, o formă U+hex, o pereche de surogate alăturată și cuvinte care nu sunt escape-uri). Linia de sub casete arată rezultatul de căutat; la Codificare urmează și stilul de escape și caseta ASCII, astfel încât celelalte trei forme pot fi văzute apăsând din nou pe Exemplu.
Ce este Unicode?

Unicode este un catalog unic care atribuie fiecărui caracter din fiecare sistem de scriere un număr, punctul de cod, de la U+0000 la U+10FFFF — 1.114.112 locuri posibile, aranjate în 17 planuri de câte 65.536. Primul plan, Planul Multilingv de Bază (BMP), conține caracterele majorității limbilor vii; majoritatea emoji-urilor și multe scrieri istorice se află pe planurile superioare („astrale”).

UTF-8, UTF-16 și UTF-32 nu sunt seturi de caractere rivale, ci trei moduri de a serializa aceste numere în octeți — modul Inspector arată toate trei pentru același caracter, alături de formele de escape JavaScript.

Unicode numește și numără caracterele; UTF-8/UTF-16/UTF-32 și escape-urile \uXXXX sunt doar moduri diferite de a scrie aceleași numere.