Pesquisa de Unicode

Cole um caractere misterioso, o espaço estranho que seu usuário colou, um glifo de uma prévia de fonte, um emoji que quebra sua regex, e a pesquisa retorna seu ponto de código Unicode (U+XXXX) e os bytes UTF-8 brutos em hexadecimal, uma linha por caractere.

Como identificar um caractere Unicode

  1. 1

    Cole o caractere

    Você pode colar um glifo ou uma string inteira, cada caractere é analisado em ordem.

  2. 2

    Leia o ponto de código

    Obtenha a notação canônica U+, em maiúsculas e preenchida com zeros até pelo menos quatro dígitos hexadecimais.

  3. 3

    Inspecione os bytes UTF-8

    Veja a sequência de 1–4 bytes que o caractere ocupa no disco ou na rede.

  4. 4

    Copie os resultados

    A saída é uma tabela no formato CSV (caractere, ponto de código, bytes UTF-8) que você pode selecionar e colar em uma planilha ou em um relatório de bug.

Trabalho típico de detetive que você pode fazer com uma pesquisa

A maioria dos bugs de Unicode parece idêntica na tela. A única maneira de distinguir um espaço regular de um espaço não separável, ou um apóstrofo curvo de um primo, é inspecionar o ponto de código.

Armadilhas comuns que a pesquisa resolve

Parece que Na verdade é Ponto de código
Espaço Espaço não separável U+00A0
Espaço Espaço não separável estreito U+202F
(nada) Espaço de largura zero U+200B
(nada) Conector de largura zero U+200D
Apóstrofo Sinal de citação simples à direita U+2019
Apóstrofo Primo (pés/minutos) U+2032
Hífen Travessão U+2013
Hífen Hífen não separável U+2011

Layout de bytes UTF-8 em um relance

  • 1 byte, ASCII, U+0000 a U+007F (0xxxxxxx)
  • 2 bytes, Suplemento latino, árabe, hebraico (110xxxxx 10xxxxxx)
  • 3 bytes, CJK, a maioria dos símbolos (1110xxxx 10xxxxxx 10xxxxxx)
  • 4 bytes, Emoji, scripts raros (11110xxx 10xxxxxx 10xxxxxx 10xxxxxx)

Se sua coluna de banco de dados tem um comprimento fixo de bytes, um emoji de 4 bytes ocupará quatro slots, mesmo que renderize como um glifo, uma fonte comum de bugs de truncamento.

Perguntas frequentes

Geralmente são marcadores BOM (U+FEFF) no início do arquivo ou conectores de largura zero perdidos de um processador de texto. Cole um na pesquisa e ele dirá imediatamente, então você pode removê-los com uma simples busca e substituição.

Sim. A pesquisa itera caractere por caractere, então uma palavra inteira produz uma linha por caractere com seu ponto de código e bytes UTF-8.

Um ponto de código é a identidade abstrata de um caractere, U+00E9 é sempre “é” não importa onde você o armazene. UTF-8 é uma das várias codificações que transformam um ponto de código em bytes; o mesmo “é” é os dois bytes C3 A9 em UTF-8, mas o único byte E9 em Latin-1.

Sim. A pesquisa é calculada em nosso servidor: os caracteres que você cola são enviados, analisados e seu ponto de código e seus bytes UTF-8 são retornados imediatamente. Não armazenamos o texto que você envia.

Ferramentas relacionadas

Ferramenta disponível em outros idiomas