Unicode-tekeninspecteur
Bekijk codepunten, UTF-8-/UTF-16-bytes en escapes voor elk teken
Over deze tool
Plak willekeurige tekst en zie elk teken ontleed: zijn codepunt (U+XXXX), UTF-8-bytes, UTF-16-eenheden, JavaScript-escapereeks, HTML-entiteit en algemene categorie — plus totalen voor codepunten, UTF-16-eenheden, UTF-8-bytes en door gebruikers waargenomen tekens (grafeemclusters).
Dit is de tool voor “waarom doet deze string zo raar?”-momenten: onzichtbare tekens (zero-width spaties, BOM’s, richtingsmarkeringen) verschijnen als zichtbare rijen; op elkaar lijkende tekens (Cyrillische а tegenover Latijnse a) blijken verschillende codepunten; en een emoji die “één teken is” blijkt zeven codepunten verbonden door zero-width joiners.
De vier verschillende lengtetotalen beantwoorden de eeuwige vraag waarom .length in JavaScript, een bytelimiet in de database en wat de gebruiker ziet het allemaal oneens zijn over hoe lang een string is.
Veelgestelde vragen
- Waarom is "🎉".length === 2 in JavaScript?
- JavaScript-strings tellen UTF-16-code-eenheden. Tekens boven U+FFFF — waaronder de meeste emoji — hebben een surrogaatpaar nodig, dus twee eenheden. De inspecteur toont zowel de eenheden als het echte codepunt, en de samenvatting telt ze apart.
- Wat is een grafeemcluster?
- Wat een lezer als één teken ervaart. é kan twee codepunten zijn (e + combinerend accent), en familie-emoji kunnen zeven of meer zijn, verbonden door zero-width joiners. De grafeemtelling gebruikt Intl.Segmenter van de browser — het dichtst bij “tekens zoals gebruikers ze zien”.
- Hoe vind ik onzichtbare tekens in een string?
- Plak hem hier — elk codepunt krijgt een rij, inclusief zero-width spaties (U+200B), harde spaties (U+00A0), BOM’s (U+FEFF) en richtingsmarkeringen, elk met categorie. Dat zijn de klassieke boosdoeners achter “identieke” strings die toch niet gelijk zijn.
- Wat vertellen de UTF-8-bytereeksen mij?
- Precies wat er opgeslagen of verstuurd wordt: ASCII is één byte, de meeste Latijnse uitbreidingen twee, CJK drie, emoji vier. Als een systeem middenin een reeks afkapt, krijg je vervangingstekens (�) — de byteweergave laat zien waar zulke knips zouden vallen.