Códigos ASCII e Unicode

Mostra o ponto de código de cada caractere, ou transforma códigos decimais ou hexadecimais em texto.

Pontos de código, não bytes em hexadecimal

ASCII são os números de 0 a 127. Um caractere chinês não é um byte ASCII: é um ponto de código Unicode, e em UTF-8 esse ponto ocupa vários bytes. Esta página imprime um número por caractere, decimal ou hexadecimal. Não produz o despejo hexadecimal dos bytes UTF-8. Para esses bytes use texto para bytes ou texto para binário.

Como usar

  1. Cole texto, ou uma lista de códigos separados por espaço, vírgula ou quebra de linha.
  2. Escolha «Texto para códigos» ou «Códigos para texto», depois Decimal ou Hexadecimal.
  3. O exemplo AB é 65 66 em decimal. Em hexadecimal são 41 42.
  4. Um token que não é número na base escolhida, ou um número que não é caractere, é erro. A página não pula o token ruim.

Qual número você está vendo

65 é o caractere A. 20013 é o caractere 中. Nenhum dos dois é byte UTF-8: os bytes UTF-8 de 中 são E4 B8 AD. Se outra ferramenta mostra três pares hexadecimais para um caractere, ela está mostrando bytes, e esta página não vai bater até você trocar de ferramenta. O hexadecimal daqui não leva 0x nem U+. Na volta de códigos para texto, espaço, vírgula e quebra são separadores, não caracteres a codificar.

Onde entra

  • Ler um ponto de código decimal vindo de uma especificação ou de uma mensagem de erro.
  • Confirmar que um caractere é o que você pensa, quando dois se parecem.
  • Montar uma lista curta de códigos para um exercício de analisador.

Perguntas

Por que 中 não é 228 nem E4?

Esses são valores de byte em UTF-8. Esta página imprime o ponto de código, um número por caractere.

Um emoji virou um número só, não dois.

O número é o ponto de código. Um emoji pode ser um ponto acima de 65535, ou vários pontos se for uma sequência. Cada ponto é um número.