UTILS.
100% w przeglądarce
🔤

Inspektor znaków Unicode

Rozłóż dowolny ciąg na punkty kodowe i pokaż dla każdego hex U+, kategorię, blok, bajty UTF-8/UTF-16, encję HTML, escape JS, percent-encoding oraz flagi.

Wprowadź powyżej tekst, aby zbadać każdy znak.

O tym narzędziu

Inspektor znaków Unicode dzieli ciąg na jego poszczególne punkty kodowe i pokazuje o każdym wszystko. Iteruje według punktu kodowego (a nie 16-bitowej jednostki), więc znaki astralne i emoji złożone z par zastępczych są obsługiwane poprawnie. Dla każdego punktu kodowego otrzymujesz glif, jego wartość hex U+XXXX, wartość dziesiętną, nazwę dla dobrze znanych znaków, kategorię ogólną oraz blok Unicode, do którego należy.

Cała analiza jest wyprowadzana algorytmicznie w Twojej przeglądarce i nic nie jest wysyłane. Kodowania są obliczane od podstaw: bajty UTF-8 podążają za regułami kodowania od 1 do 4 bajtów, jednostki kodowe UTF-16 to pojedyncza jednostka w BMP lub para zastępcza high/low (D800–DBFF / DC00–DFFF) powyżej niego, numeryczna encja HTML to &#nnnn;, escape JavaScript to \uXXXX dla BMP lub \u{XXXXX} dla astralnych punktów kodowych, a percent-encoding to bajty UTF-8 zapisane jako %XX. Kategoria ogólna (Lu, Ll, Nd, Mn, Zs, Cc itd.) jest wykrywana za pomocą wyrażeń regularnych z property-escape Unicode.

Inspektor oznacza znaki, które często powodują błędy lub są używane do ukrywania tekstu: znaki zerowej szerokości (200B–200D, 2060, FEFF), kontrolki dwukierunkowe (200E, 200F, 202A–202E, 2066–2069), znaki łączące oraz znaki sterujące C0/C1 — są one pokazywane jako kropka, więc niewidoczna zawartość staje się widoczna. Wiersz podsumowania raportuje liczbę punktów kodowych, długość UTF-16 (String.length) oraz całkowitą liczbę bajtów UTF-8. To narzędzie służy do inspekcji; do normalizacji między NFC a NFD użyj normalizatora Unicode. Skopiuj pełne rozłożenie jako tekst rozdzielany tabulatorami.

Najczęściej zadawane pytania

Dlaczego emoji liczy się jako jeden wpis, ale ma długość 2?
Wiele emoji i wszystkie znaki powyżej U+FFFF to pojedyncze punkty kodowe zakodowane w UTF-16 jako para zastępcza — dwie 16-bitowe jednostki. Inspektor iteruje według punktu kodowego, więc pokazuje jeden wiersz, podczas gdy String.length w JavaScript liczy dwie jednostki, co podsumowanie raportuje osobno.
Jak wyprowadzane są bajty UTF-8 i UTF-16?
Są obliczane bezpośrednio z punktu kodowego: UTF-8 używa standardowych reguł 1–4 bajtów, a UTF-16 to jedna jednostka dla znaków BMP lub para zastępcza high+low (D800–DBFF, potem DC00–DFFF) dla astralnych. Percent-encoding to po prostu te bajty UTF-8 jako %XX.
Co oznaczają flagi?
Wyróżniają łatwe do przeoczenia znaki: zerowej szerokości (200B–200D, 2060, FEFF), kontrolki dwukierunkowe, które mogą przestawiać tekst, znaki łączące dołączane do poprzedniej litery oraz znaki sterujące. Takie znaki są wyświetlane jako środkowa kropka, więc ukryta lub niewidoczna zawartość zostaje ujawniona.
Czy pokazuje oficjalną nazwę znaku Unicode?
Nazywa dobrze znane znaki (kody sterujące, spacje, kontrolki zerowej szerokości i bidi) oraz zawsze pokazuje blok Unicode i kategorię ogólną dla każdego punktu kodowego. Pełne nazwy poszczególnych znaków z bazy Unicode nie są dołączone, więc w innych przypadkach nazwa bloku służy jako deskryptor.

Więcej narzędzi