Unicode-converter

Escape tekst als JavaScript-\uXXXX / \u{HEX}-reeksen, decodeer gemengde escapes terug naar tekst, en inspecteer elk teken als codepunt: U+hex, decimaal, UTF-8-bytes, UTF-16-eenheden en JS-escapes. Astrale codepunten (emoji) worden nooit in surrogaathelften gesplitst.
Alle verwerking gebeurt lokaal in uw browser — uw gegevens worden nooit naar een server geüpload.
Escapestijl:
Coderen: de tekst wordt gesplitst in Unicode-codepunten (zodat emoji intact blijven) en elk ervan wordt geschreven als een JavaScript-escapereeks.
Decoderen: elke reeks \uXXXX, \u{hex} of U+hex (in hoofd- of kleine letters) wordt omgezet naar het bijbehorende teken. Naast elkaar staande surrogaatparen-escapes worden samengevoegd tot één codepunt. Niet-geëscapete tekst blijft ongewijzigd.
Inspecteur: elk codepunt wordt één met tabs gescheiden rij: teken, U+HEX, decimaal, UTF-8-bytes, UTF-16-eenheden en JS-escape. De hele tabel kan uit de uitvoer worden gekopieerd of gedownload.
Ctrl+Enter in de invoer voert de actieve modus uit.
Kies Coderen, Decoderen of Inspecteur en voer het uit. Alle verwerking blijft in uw browser.
De kolommen van de inspecteur lezen:
U+HEX is het codepunt in hexadecimaal; decimaal is hetzelfde getal in het tiendelige stelsel. UTF-8-bytes toont de één tot vier bytes die het teken bij UTF-8-codering inneemt (bijv. 中 = E4 B8 AD). UTF-16 toont de één of twee 16-bits eenheden die het teken in een JavaScript-string gebruikt (emoji boven U+FFFF hebben twee eenheden nodig, een “surrogaatpaar”: bijv. U+1F600 = D83D DE00). JS-escape is de aanbevolen broncodevorm van het teken.
Wat de knop Voorbeeld laadt:
Het voorbeeld dat bij de modus hoort waarin u zit, nooit één vaste tekst, omdat één tekst niet voor alle drie kan dienen. Coderen en Inspecteur nemen beide gewone tekens, dus die krijgen Hello 中文! 🎉 — ASCII, CJK, een volbreedte-leesteken en één emoji. Decoderen neemt escapereeksen, en een gewone zin bevat er geen: die zou woord voor woord worden teruggegeven en de modus zou niets te tonen hebben, dus Decoderen krijgt Say \u4e2d\u6587 \u{1F600} U+0041 \uD83C\uDF89 OK, dat van elke vorm die de decoder accepteert één bevat (een \uXXXX-paar in kleine letters, een \u{HEX}-accolade, een U+hex-vorm, een naast elkaar staand surrogaatpaar, en woorden die geen escapes zijn). De regel onder de vakken vermeldt het resultaat dat u moet zoeken; bij Coderen volgt die ook de escapestijl en het ASCII-vakje, zodat u de drie andere stijlen kunt zien door opnieuw op Voorbeeld te drukken.
Wat is Unicode?

Unicode is één catalogus die elk teken van elk schrijfsysteem een getal toekent, zijn codepunt, van U+0000 tot U+10FFFF — 1.114.112 mogelijke plaatsen verdeeld over 17 vlakken van elk 65.536. Het eerste vlak, het Basic Multilingual Plane (BMP), bevat de tekens van de meeste levende talen; de meeste emoji en veel historische schriften staan op de hogere (“astrale”) vlakken.

UTF-8, UTF-16 en UTF-32 zijn geen concurrerende tekenreeksen, maar drie manieren om die getallen in bytes te serialiseren — de modus Inspecteur toont alle drie voor hetzelfde teken, naast de JavaScript-escapevormen.

Unicode geeft de tekens namen en nummers; UTF-8/UTF-16/UTF-32 en \uXXXX-escapes zijn alleen verschillende manieren om dezelfde getallen op te schrijven.