Ir para o conteúdo

Tabela ASCII

O ASCII atribui um número a 128 caracteres — os dígitos, as letras latinas sem acento, a pontuação comum e 33 códigos de controlo que nunca foram concebidos para ser impressos. Todos eles estão listados abaixo em decimal, hexadecimal, octal e binário, com o respetivo número de entidade HTML.

Os primeiros 32 códigos e o último são de controlo. A maioria é histórica, de uma era de teleimpressoras e fita de papel, mas alguns ainda comandam tudo o que escreve: 9 é o Tab, 10 é a mudança de linha do Unix, 13 é o retorno de carro que o Windows lhe associa e 27 inicia todas as sequências de escape ANSI que o seu terminal usa para a cor.

O ASCII são os primeiros 128 pontos de código do Unicode, inalterados, e é por isso que continua a ser o denominador comum de quase todas as codificações em uso. O UTF-8 foi concebido para que qualquer ficheiro só com ASCII já seja UTF-8 válido, byte a byte.

Códigos de controlo

0–31, 127
DecHexOctBinárioCarHTMLNome
00000000000000NUL�NuloTerminador de cadeia em C. Não é um caractere imprimível.
10100100000001SOHInício de cabeçalhoHistórico; delimitava o cabeçalho de um bloco de transmissão.
20200200000010STXInício de textoHistórico; marcava onde começava o corpo da mensagem.
30300300000011ETXFim de textoEnviado por Ctrl+C, e é por isso que essa tecla interrompe um programa.
40400400000100EOTFim de transmissãoEnviado por Ctrl+D; fecha o stdin numa shell Unix.
50500500000101ENQConsultaHistórico; pedia à outra extremidade que se identificasse.
60600600000110ACKConfirmaçãoResposta positiva em protocolos série mais antigos.
70700700000111BELCampainhaToca a campainha do terminal. Escrito \a em C.
80801000001000BSRetrocessoMove o cursor uma coluna para trás. Escrito \b.
90901100001001HT	Tabulação horizontalA tecla Tab. Escrito \t.
100A01200001010LF
Avanço de linhaA mudança de linha do Unix. Escrito \n.
110B01300001011VTTabulação verticalRaro; avança para a tabulação vertical seguinte. Escrito \v.
120C01400001100FFAvanço de páginaQuebra de página para impressoras. Escrito \f.
130D01500001101CR
Retorno de carroRegressa à coluna um. Emparelhado com LF no Windows. Escrito \r.
140E01600001110SOShift OutHistórico; mudava para um conjunto de caracteres alternativo.
150F01700001111SIShift InHistórico; voltava ao conjunto padrão.
161002000010000DLEEscape de ligação de dadosHistórico; fazia com que os bytes seguintes fossem dados de controlo.
171102100010001DC1Controlo de dispositivo 1XON — retoma uma transmissão em pausa. Enviado por Ctrl+Q.
181202200010010DC2Controlo de dispositivo 2Controlo de dispositivo histórico.
191302300010011DC3Controlo de dispositivo 3XOFF — coloca a transmissão em pausa. Enviado por Ctrl+S.
201402400010100DC4Controlo de dispositivo 4Controlo de dispositivo histórico.
211502500010101NAKConfirmação negativaResposta negativa em protocolos série mais antigos.
221602600010110SYNEspera síncronaPreenchia o silêncio em ligações síncronas.
231702700010111ETBFim de bloco de transmissãoHistórico; terminava um bloco de uma mensagem mais longa.
241803000011000CANCancelarDescarta os dados enviados antes de si.
251903100011001EMFim de meioMarcava o fim físico de uma fita ou de um baralho de cartões.
261A03200011010SUBSubstituirMarcador de fim de ficheiro no DOS e no CP/M. Enviado por Ctrl+Z.
271B03300011011ESCEscapeInicia uma sequência de escape ANSI — cores do terminal e movimentos do cursor.
281C03400011100FSSeparador de ficheirosO mais grosseiro dos quatro separadores de dados.
291D03500011101GSSeparador de gruposSepara grupos dentro de um ficheiro.
301E03600011110RSSeparador de registosSepara registos dentro de um grupo.
311F03700011111USSeparador de unidadesO separador mais fino; ocasionalmente usado como delimitador de campo.
1277F17701111111DELDeleteTodos os bits perfurados na fita de papel, e é por isso que está no topo.

Espaço

32
DecHexOctBinárioCarHTMLNome
322004000100000  Espaço

Pontuação e símbolos

33–47, 58–64, 91–96, 123–126
DecHexOctBinárioCarHTMLNome
332104100100001!!Ponto de exclamação
342204200100010""Aspas
352304300100011##Cardinal
362404400100100$$Cifrão
372504500100101%%Sinal de percentagem
382604600100110&&E-comercial
392704700100111''Apóstrofo
402805000101000((Parêntese esquerdo
412905100101001))Parêntese direito
422A05200101010**Asterisco
432B05300101011++Sinal de mais
442C05400101100,,Vírgula
452D05500101101--Hífen-menos
462E05600101110..Ponto final
472F05700101111//Barra
583A07200111010::Dois-pontos
593B07300111011;&#59;Ponto e vírgula
603C07400111100<&#60;Sinal de menor que
613D07500111101=&#61;Sinal de igual
623E07600111110>&#62;Sinal de maior que
633F07700111111?&#63;Ponto de interrogação
644010001000000@&#64;Arroba
915B13301011011[&#91;Parêntese reto esquerdo
925C13401011100\&#92;Barra invertida
935D13501011101]&#93;Parêntese reto direito
945E13601011110^&#94;Acento circunflexo
955F13701011111_&#95;Linha inferior
966014001100000`&#96;Acento grave
1237B17301111011{&#123;Chaveta esquerda
1247C17401111100|&#124;Barra vertical
1257D17501111101}&#125;Chaveta direita
1267E17601111110~&#126;Til

Dígitos

48–57
DecHexOctBinárioCarHTMLNome
4830060001100000&#48;Dígito 0
4931061001100011&#49;Dígito 1
5032062001100102&#50;Dígito 2
5133063001100113&#51;Dígito 3
5234064001101004&#52;Dígito 4
5335065001101015&#53;Dígito 5
5436066001101106&#54;Dígito 6
5537067001101117&#55;Dígito 7
5638070001110008&#56;Dígito 8
5739071001110019&#57;Dígito 9

Letras

65–90, 97–122
DecHexOctBinárioCarHTMLNome
654110101000001A&#65;Letra maiúscula A
664210201000010B&#66;Letra maiúscula B
674310301000011C&#67;Letra maiúscula C
684410401000100D&#68;Letra maiúscula D
694510501000101E&#69;Letra maiúscula E
704610601000110F&#70;Letra maiúscula F
714710701000111G&#71;Letra maiúscula G
724811001001000H&#72;Letra maiúscula H
734911101001001I&#73;Letra maiúscula I
744A11201001010J&#74;Letra maiúscula J
754B11301001011K&#75;Letra maiúscula K
764C11401001100L&#76;Letra maiúscula L
774D11501001101M&#77;Letra maiúscula M
784E11601001110N&#78;Letra maiúscula N
794F11701001111O&#79;Letra maiúscula O
805012001010000P&#80;Letra maiúscula P
815112101010001Q&#81;Letra maiúscula Q
825212201010010R&#82;Letra maiúscula R
835312301010011S&#83;Letra maiúscula S
845412401010100T&#84;Letra maiúscula T
855512501010101U&#85;Letra maiúscula U
865612601010110V&#86;Letra maiúscula V
875712701010111W&#87;Letra maiúscula W
885813001011000X&#88;Letra maiúscula X
895913101011001Y&#89;Letra maiúscula Y
905A13201011010Z&#90;Letra maiúscula Z
976114101100001a&#97;Letra minúscula a
986214201100010b&#98;Letra minúscula b
996314301100011c&#99;Letra minúscula c
1006414401100100d&#100;Letra minúscula d
1016514501100101e&#101;Letra minúscula e
1026614601100110f&#102;Letra minúscula f
1036714701100111g&#103;Letra minúscula g
1046815001101000h&#104;Letra minúscula h
1056915101101001i&#105;Letra minúscula i
1066A15201101010j&#106;Letra minúscula j
1076B15301101011k&#107;Letra minúscula k
1086C15401101100l&#108;Letra minúscula l
1096D15501101101m&#109;Letra minúscula m
1106E15601101110n&#110;Letra minúscula n
1116F15701101111o&#111;Letra minúscula o
1127016001110000p&#112;Letra minúscula p
1137116101110001q&#113;Letra minúscula q
1147216201110010r&#114;Letra minúscula r
1157316301110011s&#115;Letra minúscula s
1167416401110100t&#116;Letra minúscula t
1177516501110101u&#117;Letra minúscula u
1187616601110110v&#118;Letra minúscula v
1197716701110111w&#119;Letra minúscula w
1207817001111000x&#120;Letra minúscula x
1217917101111001y&#121;Letra minúscula y
1227A17201111010z&#122;Letra minúscula z

FAQ

Qual é a diferença entre ASCII e UTF-8?
O ASCII define 128 caracteres, numerados de 0 a 127. O UTF-8 é uma codificação para a totalidade do Unicode — mais de 150 000 caracteres — e codifica esses primeiros 128 como bytes únicos com exatamente os valores ASCII. Por isso, todo o ficheiro ASCII é um ficheiro UTF-8 válido, mas o inverso só se verifica se o texto se mantiver dentro desses 128 caracteres.
Porque é que a tabela termina em 127?
O ASCII é uma norma de 7 bits, e 2⁷ é 128. Os códigos 128–255 não são ASCII: pertencem à extensão de 8 bits que estiver em uso — Windows-1252, ISO-8859-1 e outras — o que é precisamente a razão por que discordam entre si e por que texto com acentos chega tantas vezes truncado.
Qual é o código ASCII do espaço?
Decimal 32, hexadecimal 20. É um caractere imprimível apesar de não parecer nada, e é por isso que fica fora do intervalo de controlo que termina em 31.
Porque é que o DEL está em 127 e não em 0?
Por causa da fita de papel. Apagar um caractere significava perfurar todos os furos na sua posição, e sete bits todos perfurados é 127. Um caractere apagado não podia ser recuperado, o que é também de onde vem o significado moderno.
Qual é a diferença entre CR e LF?
O CR (13) devolve a cabeça de impressão à coluna um; o LF (10) avança uma linha. O Unix e o macOS terminam as linhas apenas com LF, o Windows usa CR seguido de LF, e essa discordância é a razão por que um ficheiro pode aparecer como uma única linha longa ou com caracteres ^M soltos.