Referência da Tabela ASCII

Cada caractere imprimível que você digita em inglês mapeia para um número entre 32 e 126 no padrão ASCII de sete bits. Abaixo de 32 e em 127 vivem os códigos de controle, LF, CR, ESC, DEL e os demais, que ainda importam quando você está depurando um protocolo serial ou corrigindo quebras de linha. Esta tabela de referência fornece todos os pontos de código de 0 a 127 junto com suas formas decimal, hex, octal, binária e entidade HTML.

Como usar a tabela ASCII

  1. 1

    Escaneie a linha para o caractere que você precisa

    Pesquise por letra, símbolo ou nome do ponto de código. Os códigos de controle estão listados por seu mnemônico de três letras.

  2. 2

    Leia horizontalmente para a codificação que você precisa

    Decimal para código amigável, hex para código fonte, binário para trabalho de protocolo, entidade HTML para marcação.

  3. 3

    Copie qualquer célula

    Útil quando você recebe um despejo hex ou uma sequência de bytes e precisa saber como isso é lido.

Os três intervalos do ASCII

Intervalo Decimal Conteúdos
Controle 0-31, 127 NUL, BEL, BS, HT, LF, VT, FF, CR, ESC, DEL, outros
Imprimível 32-126 Espaço, pontuação, dígitos, A-Z, a-z
Estendido (não-ASCII) 128+ Depende da codificação; ASCII para estritamente para em 127

Códigos de controle que ainda importam

  • 0x00 NUL, Terminador de string em C, preenchimento em alguns formatos binários.
  • 0x07 BEL, Toca o sino do terminal.
  • 0x08 BS, Retrocesso.
  • 0x09 HT, Tabulação horizontal.
  • 0x0A LF, Alimentação de linha, a nova linha do Unix.
  • 0x0D CR, Retorno de carro; emparelha com LF no Windows para CRLF.
  • 0x1B ESC, Inicia sequências de escape ANSI para cores do terminal.
  • 0x7F DEL, Originalmente o código para perfurar um buraco na fita; agora raramente usado.

ASCII vs Unicode

O Unicode preserva os primeiros 128 pontos de código com os mesmos significados do ASCII. O UTF-8 também grava esses valores como os mesmos bytes individuais; por isso, um arquivo UTF-8 que contém apenas caracteres ASCII é idêntico, byte por byte, à representação ASCII. Isso não vale para toda codificação de caracteres: o EBCDIC é um contraexemplo conhecido.

Conversões comuns

  • Decimal para hex: 65 (dec) = 0x41 = A
  • Hex para binário: 0x41 = 0100 0001
  • Hex para entidade HTML: A ou A ambos renderizam como A

Perguntas frequentes

ASCII é um código de 7 bits, deixando o oitavo bit de um byte livre para paridade ou extensão. Os valores 128-255 são o reino das variantes de “ASCII estendido” (Latin-1, Windows-1252, MacRoman, etc.), todas incompatíveis entre si, o que é parte do motivo pelo qual o Unicode venceu.

LF (0x0A) desce uma linha; CR (0x0D) move o cursor de volta para a coluna zero. No Unix, uma nova linha é apenas LF; no Mac clássico era apenas CR; no Windows e cabeçalhos HTTP é CR seguido de LF (CRLF). Desajustes são a causa clássica de texto com espaçamento duplo ou colado entre sistemas.

As letras maiúsculas ASCII ocupam 65-90 e as minúsculas 97-122, exatamente 0x20 posições adiante. Depois de confirmar que o byte representa uma letra ASCII, o código pode definir, limpar ou alternar o bit 0x20 para mudar entre maiúscula e minúscula. Aplicar XOR 0x20 indiscriminadamente a qualquer byte não é seguro, pois também altera dígitos, pontuação e códigos de controle.

Sim: LF e CR em arquivos de texto, HT e FF em código fonte e terminais, ESC em sequências de cores ANSI, BEL em sinos e alertas de terminal. NUL ainda termina strings em C. O resto é principalmente legado dos dias de teletipo.

Ferramentas relacionadas