TT Text Tools

Inspektor znaków Unicode — punkty kodowe, nazwy i bajty

Analizuj tekst znak po znaku: punkty kodowe Unicode, nazwy, kategorie, pisma, bajty UTF-8 i UTF-16 oraz ostrzeżenia o znakach niewidocznych i łudząco podobnych.

🔒 Działa całkowicie w Twojej przeglądarce — nic nie jest przesyłane

0
Characters (graphemes)
0
Code points
0
UTF-16 units
0
UTF-8 bytes
0
Warnings
CharCode pointNameCategoryScriptUTF-8UTF-16Note
Advertisement

Zobacz, z czego naprawdę składa się Twój tekst

Tekst, który wygląda normalnie, może skrywać niespodzianki: spację o zerowej szerokości, która psuje hasło lub wyszukiwanie, spację niełamliwą blokującą import pliku CSV, cyrylicką literę w nazwie domeny albo ligaturę, która wcale nie jest dwiema literami, za jakie ją bierzesz. Inspektor znaków Unicode rozbija dowolny ciąg na pojedyncze punkty kodowe i pokazuje dla każdego z nich znak, punkt kodowy U+, oficjalną nazwę Unicode, kategorię ogólną (litera, znak łączący, interpunkcja, symbol, separator, znak sterujący, formatowanie…), pismo oraz dokładne bajty, którymi jest zapisany w UTF-8 i UTF-16.

Podsumowanie zlicza znaki tak, jak widzi je użytkownik (klastry grafemów), punkty kodowe, jednostki kodowe UTF-16 — czyli długość podawaną przez JavaScript, Javę i C# — oraz bajty UTF-8, które najczęściej ograniczają bazy danych i protokoły sieciowe. Zestawienie wszystkich czterech wartości wyjaśnia, dlaczego emoji może liczyć się jako jeden, dwa lub cztery znaki, zależnie od tego, kto liczy.

Wykrywaj znaki niewidoczne i łudząco podobne

Wiersze są podświetlane, gdy coś zasługuje na uwagę. Oznaczane są niewidoczne znaki formatujące, takie jak spacje o zerowej szerokości, łączniki (joiners), znaczniki kolejności bajtów i dwukierunkowe znaki sterujące, a także znaki sterujące, znaki użytku prywatnego, nietypowe spacje i selektory wariantów. Znaki zgodnościowe — litery pełnej szerokości, ligatury, indeksy górne i matematyczne znaki alfanumeryczne — są oznaczane wraz ze zwykłym znakiem, który zazwyczaj zastępują.

Litery mylące z cyrylicy, greki i alfabetu ormiańskiego, które naśladują litery łacińskie, są oznaczane, gdy pojawiają się w tekście łacińskim, a każde słowo mieszające pisma jest wskazywane nad tabelą. To klasyczny wzorzec ataków homograficznych, w których „pаypal.com” używa cyrylickiej litery „а”, aby podszyć się pod prawdziwą stronę. Tekst napisany w całości cyrylicą lub greką nie jest oznaczany. Przycisk „Remove invisible characters” (usuń znaki niewidoczne) usuwa znaki formatujące i sterujące, zachowując podziały wierszy, tabulatory i łączniki emoji.

Prywatna analiza

Inspektor i jego baza nazw działają w całości w Twojej przeglądarce. Wklejane hasła, tokeny i wiadomości nigdy nie są przesyłane.

Jak używać

  1. Wklej tekstDodaj dowolny ciąg znaków: podejrzany link, nazwę użytkownika, emoji lub tekst, który zachowuje się dziwnie.
  2. Przeczytaj tabelęKażdy punkt kodowy pokazuje wartość U+, oficjalną nazwę, kategorię, pismo oraz kodowanie UTF-8 i UTF-16.
  3. Sprawdź ostrzeżeniaOznaczone wiersze wskazują znaki niewidoczne, nietypowe spacje, litery łudząco podobne do innych i formy zgodnościowe.
  4. Wyczyść, jeśli trzebaUsuń znaki niewidoczne jednym kliknięciem („Remove invisible characters”) lub pokaż tylko oznaczone wiersze („Show only flagged characters”).

Najczęściej zadawane pytania

Czym jest punkt kodowy?
Punkt kodowy to numer, który Unicode przypisuje znakowi, zapisywany jako U+ i cyfry szesnastkowe, na przykład U+0041 dla A lub U+1F600 dla 😀. Niektóre widoczne znaki, takie jak emoji z odcieniem skóry, składają się z kilku punktów kodowych.
Czym są znaki mylące (confusables)?
To znaki z różnych pism, które wyglądają identycznie lub prawie identycznie, na przykład łacińskie „a” i cyrylickie „а”. Atakujący używają ich w fałszywych domenach i nazwach użytkowników (ataki homograficzne). Inspektor je oznacza i ostrzega, gdy jedno słowo miesza pisma.
Dlaczego długość w bajtach UTF-8 różni się od liczby znaków?
UTF-8 używa 1 bajtu dla ASCII, 2 bajtów dla większości liter łacińskich, greckich i cyrylickich, 3 bajtów dla większości pozostałych znaków i 4 bajtów dla emoji oraz rzadkich symboli. Bazy danych i API często ograniczają bajty, a nie znaki.
Skąd pochodzą nazwy znaków?
Z Unicode Character Database (Unicode 18), ładowanej do Twojej przeglądarki. Sekwencje emoji i znaki sterujące otrzymują swoje oficjalne nazwy lub aliasy.
Advertisement