UTILS.
100% no navegador
🔤

Inspetor de Caracteres Unicode

Divida qualquer string em pontos de código e mostre o hex U+, categoria, bloco, bytes UTF-8/UTF-16, entidade HTML, escape JS, codificação percentual e sinalizadores de cada um.

Digite texto acima para inspecionar cada caractere.

Sobre esta ferramenta

O Inspetor de Caracteres Unicode divide uma string em seus pontos de código individuais e mostra tudo sobre cada um. Ele itera por ponto de código (não por unidade de 16 bits), então caracteres astrais e emoji feitos de pares substitutos são tratados corretamente. Para cada ponto de código você obtém o glifo, o seu valor hex U+XXXX, o valor decimal, um nome para caracteres bem conhecidos, a categoria geral e o bloco Unicode ao qual ele pertence.

Toda a análise é derivada algoritmicamente no seu navegador e nada é enviado. As codificações são calculadas a partir de princípios básicos: os bytes UTF-8 seguem as regras de codificação de 1 a 4 bytes, as unidades de código UTF-16 são uma única unidade no BMP ou um par substituto alto/baixo (D800–DBFF / DC00–DFFF) acima dele, a entidade numérica HTML é &#nnnn;, o escape JavaScript é \uXXXX para o BMP ou \u{XXXXX} para pontos de código astrais, e a codificação percentual é os bytes UTF-8 escritos como %XX. A categoria geral (Lu, Ll, Nd, Mn, Zs, Cc, e assim por diante) é detectada com expressões regulares de escape de propriedade Unicode.

O inspetor sinaliza caracteres que frequentemente causam bugs ou são usados para ocultar texto: caracteres de largura zero (200B–200D, 2060, FEFF), controles bidirecionais (200E, 200F, 202A–202E, 2066–2069), marcas combinantes e caracteres de controle C0/C1 — estes são mostrados como um ponto para que conteúdo invisível se torne visível. Uma linha de resumo relata a contagem de pontos de código, o comprimento UTF-16 (String.length) e a contagem total de bytes UTF-8. Esta ferramenta é para inspeção; para normalizar entre NFC e NFD use o normalizador Unicode. Copie a análise completa como texto separado por tabulações.

Perguntas frequentes

Por que um emoji conta como uma entrada mas tem comprimento 2?
Muitos emoji e todos os caracteres acima de U+FFFF são pontos de código únicos codificados em UTF-16 como um par substituto — duas unidades de 16 bits. O inspetor itera por ponto de código, então mostra uma linha, enquanto o String.length do JavaScript conta as duas unidades, que o resumo relata separadamente.
Como os bytes UTF-8 e UTF-16 são derivados?
Eles são calculados diretamente a partir do ponto de código: UTF-8 usa as regras padrão de 1 a 4 bytes, e UTF-16 é uma unidade para caracteres BMP ou um par substituto alto+baixo (D800–DBFF depois DC00–DFFF) para os astrais. A codificação percentual é simplesmente esses bytes UTF-8 como %XX.
O que significam os sinalizadores?
Eles destacam caracteres fáceis de perder: largura zero (200B–200D, 2060, FEFF), controles bidirecionais que podem reordenar texto, marcas combinantes que se anexam a uma letra anterior e caracteres de controle. Tais caracteres são exibidos como um ponto central para que conteúdo oculto ou invisível seja revelado.
Ele mostra o nome oficial do caractere Unicode?
Ele nomeia caracteres bem conhecidos (códigos de controle, espaços, controles de largura zero e bidi) e sempre mostra o bloco Unicode e a categoria geral para cada ponto de código. Os nomes completos por caractere do banco de dados Unicode não estão incluídos, então o nome do bloco serve como o descritor no restante dos casos.

Mais ferramentas