Unicode-decoder
Zet Unicode-escapes om naar tekst en terug, zoek codepoints op en repareer verminkte tekst (mojibake). Ondersteunt \uXXXX, \UXXXXXXXX en &#XXXX;-entiteiten. Alle verwerking gebeurt in je browser.
Resultaat verschijnt hier...
Tekeninformatie
| Teken | Codepoint | UTF-8-bytes | HTML-entiteit | CSS-escape | JS-escape |
|---|
Hoe gebruik je de Unicode-decoder
Kies een modus
Selecteer Decoderen (escape naar tekst) of Encoderen (tekst naar escape).
Voer invoer in
Plak afhankelijk van de modus Unicode-escapes of platte tekst.
Converteren
Klik op Converteren en bekijk het resultaat en de tekendetails.
Wat is Unicode-encoding?
Met Unicode-encoding kunnen tekens uit elke taal of elk symbolsysteem in verschillende formaten worden weergegeven. Veelgebruikte formaten zijn \uXXXX (JavaScript/JSON), &#NNNNN; (HTML-entiteiten) en U+XXXX (Unicode-codepoints). Deze encoding zorgen ervoor dat tekst veilig kan worden verzonden en weergegeven tussen verschillende systemen.
Encodingformaten
JavaScript (\uXXXX)
Gebruikt in JSON- en JavaScript-strings
HTML-entiteiten (&#XXXX;)
Gebruikt in HTML om speciale tekens weer te geven
CSS-escapes (\XXXXXX)
Gebruikt in CSS-content en identifiers
Verminkte tekst repareren (mojibake-herstel)
Verminkte tekst (ook mojibake genoemd) ontstaat wanneer tekst die in de ene tekenset is gecodeerd, met een andere wordt gedecodeerd. Meest voorkomende geval: UTF-8-bytes worden gelezen als Windows-1252 of Latin-1, waardoor "café" "café" wordt en "张三" "å¼ ä¸‰". Schakel bovenaan naar de modus Verminkte tekst repareren, plak de kapotte tekst, en de decoder reconstrueert de oorspronkelijke tekens door elk teken als een ruwe byte te behandelen en het resultaat opnieuw als UTF-8 te decoderen.
Veelvoorkomende voorbeelden van verminkte tekst
| Verminkt | Gerepareerd | Oorzaak |
|---|---|---|
| café | café | UTF-8 → Latin-1 |
| å¼ ä¸‰ | 张三 | UTF-8 → Latin-1 |
| “hi†| “hi” | UTF-8 → double-encoded |
| ü ö ñ | ü ö ñ | UTF-8 → Windows-1252 |
| �� | � � | bytes al verloren (U+FFFD) |
Om mojibake in je eigen apps te voorkomen, declareer de encoding altijd expliciet: serveer HTML met <meta charset="UTF-8">, stel HTTP-headers in zoals Content-Type: text/html; charset=utf-8, en gebruik consequent UTF-8 in databases en verbindingen.
Vergelijking UTF-8 vs UTF-16 vs UTF-32
| UTF-8 | UTF-16 | UTF-32 | |
|---|---|---|---|
| Encoding-eenheid | 8 bit | 16 bit | 32 bit |
| A (U+0041) | 41 | 00 41 | 00 00 00 41 |
| é (U+00E9) | C3 A9 | 00 E9 | 00 00 00 E9 |
| 中 (U+4E2D) | E4 B8 AD | 4E 2D | 00 00 4E 2D |
| 🎉 (U+1F389) | F0 9F 8E 89 | D8 3C DF 89 | 00 01 F3 89 |
| Best geschikt voor | Web, JSON, API's — ASCII-compatibel en compact | Tekst in het geheugen in Java, JavaScript, C# | Directe codepointtoegang, zelden in de praktijk |
Veelvoorkomende Unicode-codepoints
Snelle referentie voor vaak opgezochte tekens: leestekens, valutasymbolen, tekens met accenten en wiskundetekens, met hun U+XXXX-codepoints.
Leestekens & symbolen
| “U+201C | ”U+201D | ‘U+2018 | ’U+2019 |
| –U+2013 | —U+2014 | …U+2026 | U+A0 |
| ©U+A9 | ®U+AE | ™U+2122 | °U+B0 |
Valutasymbolen
| €U+20AC | £U+A3 | ¥U+A5 | ₹U+20B9 |
| ¢U+A2 | ₽U+20BD | ₩U+20A9 | ฿U+E3F |
Tekens met accenten
| éU+E9 | èU+E8 | êU+EA | üU+FC |
| öU+F6 | ñU+F1 | åU+E5 | øU+F8 |
| çU+E7 | ßU+DF | ąU+105 | žU+17E |
Wiskunde & pijlen
| ±U+B1 | ×U+D7 | ÷U+F7 | ≈U+2248 |
| ≠U+2260 | ≤U+2264 | ≥U+2265 | →U+2192 |
| ∞U+221E | ∑U+2211 | √U+221A | µU+B5 |
Veelgestelde vragen
Deze tool ondersteunt voor het decoderen \uXXXX (BMP), \UXXXXXXXX (volledige Unicode), &#DDDD; (decimale HTML-entiteit), &#xHHHH; (hexadecimale HTML-entiteit) en U+XXXX (codepointnotatie).
UTF-8 codeert elk Unicode-codepoint met 1 tot 4 bytes. ASCII-tekens (U+0000 tot U+007F) gebruiken 1 byte, Latijnse en andere gangbare tekens 2 bytes, de meeste CJK-tekens 3 bytes, en emoji en zeldzame tekens 4 bytes.
\uXXXX gebruikt 4 hexadecimale cijfers en kan tekens in het Basic Multilingual Plane (U+0000 tot U+FFFF) weergeven. \UXXXXXXXX gebruikt 8 hexadecimale cijfers en kan elk Unicode-teken weergeven, ook die voorbij het BMP.
Dit zijn tekenen van mojibake: UTF-8-bytes zijn gedecodeerd als Windows-1252/Latin-1. "é" betekent dat de twee UTF-8-bytes van "é" (0xC3 0xA9) als twee afzonderlijke tekens zijn getoond. Gebruik de modus Verminkte tekst repareren om dit te herstellen. "�" is U+FFFD, het vervangingsteken dat ontstaat wanneer bytes al ongeldig waren - die informatie is verloren en kan niet worden hersteld.
UTF-8 codeert tekens in 1–4 bytes en is volledig ASCII-compatibel, wat het de standaard maakt voor het web, JSON en de meeste API's. UTF-16 codeert tekens in 2 of 4 bytes (met surrogaatparen voor tekens voorbij U+FFFF) en wordt intern gebruikt door JavaScript, Java en Windows. Voor de meeste tekst op het web is UTF-8 kleiner en veiliger.
Een codepoint is een getal dat aan een teken is toegewezen in de Unicode-standaard (U+00E9 voor e-acigu); een code-eenheid is de opslageenheid die een encoding gebruikt. UTF-8-code-eenheden zijn 8-bit bytes - U+00E9 kost er twee - terwijl UTF-16-code-eenheden 16-bit zijn, en tekens voorbij U+FFFF hebben er twee nodig (een surrogaatpaar). JavaScript-strings zijn UTF-16, dus 'hello'.length is 5, maar de .length van een emoji is 2.
Hetzelfde zichtbare teken kan meerdere bytesequenties hebben: e-acigu als één voorgevormd teken (NFC) of als e plus een combinerend accent (NFD). NFC composeert, NFD decomposeert, en NFKC/NFKD vouwen bovendien compatibiliteitstekens samen (fullwidth vormen, ligaturen). Gebruikersinvoer vergelijken of hashen zonder vooraf te normaliseren is een klassieke bron van dubbele accounts en mislukte opzoekingen - fi-ligatuur vs f+i.
De byte-order mark is U+FEFF aan het begin van een stream (EF BB BF in UTF-8) om de encoding aan te duiden. Editors verbergen hem meestal, maar stroomafwaarts wordt hij een onzichtbaar eerste teken: een CSV-kop krijgt een spooksleutel, JSON-parsen faalt op het verdwaalde token, en PHP-sessies sturen hem vóór de headers. UTF-8 heeft geen BOM nodig omdat er geen byte-volgorde-twijdudigheid is - sla op zonder BOM.
Gerelateerde tools
Hex-dekoder
Converteer tussen hexadecimaal en tekst — met configureerbare scheidingstekens en prefixopties
HTML-entity-dekoder
Encodeer en decodeer HTML-entities — converteer tussen speciale tekens en entity-referenties
Base64 URL-dekoder & parser
Decodeer en encodeer Base64, parseer URL-gecodeerde strings, bekijk Base64-afbeeldingen vooraf en decodeer JWT-header- of payload-segmenten
Autoritatieve referenties
De primaire bronnen achter deze tool — officiële standaarden en specificaties, geen tweedehands samenvattingen.