FreeToGenerate.com

Os 128 caracteres, incluindo os 33 que não imprimem nada.

128 caracteres

Procura por valor decimal, valor hexadecimal, um único carácter, o nome, a abreviatura ou qualquer dos nomes alternativos que a norma dá.

Que caracteres de controlo alguma coisa ainda usa

Contados em todos os ficheiros de texto deste site, no seu HTML compilado e em doze livros de domínio público. Quatro dos trinta e três apareceram, e dois deles apareceram duas vezes.

LF · LINE FEED
434.063
CR · CARRIAGE RETURN
229.147
HT · CHARACTER TABULATION
3
BS · BACKSPACE
2

Os outros 29 não apareceram uma única vez.

Caracteres de controlo

DecHexOctBinárioCarácterNome
00000000000000NULNULLnunca visto
10100100000001SOHSTART OF HEADINGnunca visto
20200200000010STXSTART OF TEXTnunca visto
30300300000011ETXEND OF TEXTnunca visto
40400400000100EOTEND OF TRANSMISSIONnunca visto
50500500000101ENQENQUIRYnunca visto
60600600000110ACKACKNOWLEDGEnunca visto
70700700000111BELALERTnunca visto
80801000001000BSBACKSPACE
90901100001001HTCHARACTER TABULATIONtambém HORIZONTAL TABULATION
100A01200001010LFLINE FEEDtambém NEW LINE, END OF LINE
110B01300001011VTLINE TABULATIONtambém VERTICAL TABULATIONnunca visto
120C01400001100FFFORM FEEDnunca visto
130D01500001101CRCARRIAGE RETURN
140E01600001110SOSHIFT OUTtambém LOCKING-SHIFT ONEnunca visto
150F01700001111SISHIFT INtambém LOCKING-SHIFT ZEROnunca visto
161002000010000DLEDATA LINK ESCAPEnunca visto
171102100010001DC1DEVICE CONTROL ONEnunca visto
181202200010010DC2DEVICE CONTROL TWOnunca visto
191302300010011DC3DEVICE CONTROL THREEnunca visto
201402400010100DC4DEVICE CONTROL FOURnunca visto
211502500010101NAKNEGATIVE ACKNOWLEDGEnunca visto
221602600010110SYNSYNCHRONOUS IDLEnunca visto
231702700010111ETBEND OF TRANSMISSION BLOCKnunca visto
241803000011000CANCANCELnunca visto
251903100011001EOMEND OF MEDIUMnunca visto
261A03200011010SUBSUBSTITUTEnunca visto
271B03300011011ESCESCAPEnunca visto
281C03400011100FSINFORMATION SEPARATOR FOURtambém FILE SEPARATORnunca visto
291D03500011101GSINFORMATION SEPARATOR THREEtambém GROUP SEPARATORnunca visto
301E03600011110RSINFORMATION SEPARATOR TWOtambém RECORD SEPARATORnunca visto
311F03700011111USINFORMATION SEPARATOR ONEtambém UNIT SEPARATORnunca visto
1277F17701111111DELDELETEnunca visto

Pontuação e símbolos

DecHexOctBinárioCarácterNome
322004000100000SPACE
332104100100001!EXCLAMATION MARK
342204200100010"QUOTATION MARK
352304300100011#NUMBER SIGN
362404400100100$DOLLAR SIGN
372504500100101%PERCENT SIGN
382604600100110&AMPERSAND
392704700100111'APOSTROPHE
402805000101000(LEFT PARENTHESIS
412905100101001)RIGHT PARENTHESIS
422A05200101010*ASTERISK
432B05300101011+PLUS SIGN
442C05400101100,COMMA
452D05500101101-HYPHEN-MINUS
462E05600101110.FULL STOP
472F05700101111/SOLIDUS
583A07200111010:COLON
593B07300111011;SEMICOLON
603C07400111100<LESS-THAN SIGN
613D07500111101=EQUALS SIGN
623E07600111110>GREATER-THAN SIGN
633F07700111111?QUESTION MARK
644010001000000@COMMERCIAL AT
915B13301011011[LEFT SQUARE BRACKET
925C13401011100\REVERSE SOLIDUS
935D13501011101]RIGHT SQUARE BRACKET
945E13601011110^CIRCUMFLEX ACCENT
955F13701011111_LOW LINE
966014001100000`GRAVE ACCENT
1237B17301111011{LEFT CURLY BRACKET
1247C17401111100|VERTICAL LINE
1257D17501111101}RIGHT CURLY BRACKET
1267E17601111110~TILDE

O espaço é o único carácter imprimível com abreviatura oficial, SP: não desenha nada, por isso a norma dá-lhe uma forma curta tal como faz aos de controlo.

Algarismos

DecHexOctBinárioCarácterNome
4830060001100000DIGIT ZERO
4931061001100011DIGIT ONE
5032062001100102DIGIT TWO
5133063001100113DIGIT THREE
5234064001101004DIGIT FOUR
5335065001101015DIGIT FIVE
5436066001101106DIGIT SIX
5537067001101117DIGIT SEVEN
5638070001110008DIGIT EIGHT
5739071001110019DIGIT NINE

Letras maiúsculas

DecHexOctBinárioCarácterNome
654110101000001ALATIN CAPITAL LETTER A
664210201000010BLATIN CAPITAL LETTER B
674310301000011CLATIN CAPITAL LETTER C
684410401000100DLATIN CAPITAL LETTER D
694510501000101ELATIN CAPITAL LETTER E
704610601000110FLATIN CAPITAL LETTER F
714710701000111GLATIN CAPITAL LETTER G
724811001001000HLATIN CAPITAL LETTER H
734911101001001ILATIN CAPITAL LETTER I
744A11201001010JLATIN CAPITAL LETTER J
754B11301001011KLATIN CAPITAL LETTER K
764C11401001100LLATIN CAPITAL LETTER L
774D11501001101MLATIN CAPITAL LETTER M
784E11601001110NLATIN CAPITAL LETTER N
794F11701001111OLATIN CAPITAL LETTER O
805012001010000PLATIN CAPITAL LETTER P
815112101010001QLATIN CAPITAL LETTER Q
825212201010010RLATIN CAPITAL LETTER R
835312301010011SLATIN CAPITAL LETTER S
845412401010100TLATIN CAPITAL LETTER T
855512501010101ULATIN CAPITAL LETTER U
865612601010110VLATIN CAPITAL LETTER V
875712701010111WLATIN CAPITAL LETTER W
885813001011000XLATIN CAPITAL LETTER X
895913101011001YLATIN CAPITAL LETTER Y
905A13201011010ZLATIN CAPITAL LETTER Z

Letras minúsculas

DecHexOctBinárioCarácterNome
976114101100001aLATIN SMALL LETTER A
986214201100010bLATIN SMALL LETTER B
996314301100011cLATIN SMALL LETTER C
1006414401100100dLATIN SMALL LETTER D
1016514501100101eLATIN SMALL LETTER E
1026614601100110fLATIN SMALL LETTER F
1036714701100111gLATIN SMALL LETTER G
1046815001101000hLATIN SMALL LETTER H
1056915101101001iLATIN SMALL LETTER I
1066A15201101010jLATIN SMALL LETTER J
1076B15301101011kLATIN SMALL LETTER K
1086C15401101100lLATIN SMALL LETTER L
1096D15501101101mLATIN SMALL LETTER M
1106E15601101110nLATIN SMALL LETTER N
1116F15701101111oLATIN SMALL LETTER O
1127016001110000pLATIN SMALL LETTER P
1137116101110001qLATIN SMALL LETTER Q
1147216201110010rLATIN SMALL LETTER R
1157316301110011sLATIN SMALL LETTER S
1167416401110100tLATIN SMALL LETTER T
1177516501110101uLATIN SMALL LETTER U
1187616601110110vLATIN SMALL LETTER V
1197716701110111wLATIN SMALL LETTER W
1207817001111000xLATIN SMALL LETTER X
1217917101111001yLATIN SMALL LETTER Y
1227A17201111010zLATIN SMALL LETTER Z

128 · 95 + 33

Também disponível em: English · Español · Français · العربية

Tabela ASCII

Todos os caracteres ASCII em decimal, hexadecimal, octal e binário, e uma contagem de que caracteres de controlo alguma coisa ainda usa.

O que é a tabela ASCII

O ASCII atribui um número de 0 a 127 a cada um de 128 caracteres. Noventa e cinco são imprimíveis: o espaço, os algarismos, os dois alfabetos e a pontuação de um teclado norte-americano. Os outros trinta e três não imprimem nada. São caracteres de controlo, e são a metade da tabela que todas as referências enumeram e ninguém explica.

A divisão não é questão de opinião. Na base de dados de caracteres do Unicode esses trinta e três têm o nome literal <control> e os seus nomes verdadeiros vivem num ficheiro de aliases à parte. Esta página é gerada a partir de ambos, portanto os nomes, as abreviaturas e os nomes alternativos são os da norma e não os de alguém de cor.

Tudo o resto num computador moderno assenta em cima disto. O UTF-8 foi desenhado para que os seus primeiros 128 pontos de código sejam exactamente ASCII, byte a byte, e é por isso que um ficheiro de texto em inglês é ao mesmo tempo ASCII válido e UTF-8 válido, e já o é há décadas.

Como usar a tabela

  1. Pesquise como lhe der na cabeça. Escreva 65, ou 0x41, ou a própria letra A, ou carriage, ou ESC. Valores decimais, hexadecimais, caracteres soltos, nomes, abreviaturas e nomes alternativos: tudo corresponde.
  2. Leia ao longo da linha para a codificação de que precisa. Cada linha traz decimal, hexadecimal, octal e binário de oito bits, com zeros à esquerda para as colunas alinharem quando as copiar. O botão de copiar dá-lhe o carácter; para os de controlo, que não têm carácter, dá-lhe o escape hexadecimal.
  3. Veja primeiro a secção dos caracteres de controlo. É a parte com os números surpreendentes, e explica porque um fim de linha do Windows ocupa dois bytes em vez de um.

Quatro dos trinta e três caracteres de controlo ainda se usam

O habitual é descrever os caracteres de controlo como uma lista de nomes sem indicar quais interessam. Contar é mais útil, por isso contámos. Em 9 760 ficheiros de texto e 127 721 432 caracteres — este site inteiro, o seu HTML compilado e doze livros de domínio público — aparecem exactamente quatro dos trinta e três.

A mudança de linha aparece 434 063 vezes e o retorno de carro 229 147. O tabulador sai três vezes e o retrocesso duas, e em ambos os casos dentro de textos que falam deles. Os vinte e nove restantes não saem uma única vez: nem o NUL, nem a campainha, nem o escape, nem o delete, nem nenhum dos dez controlos de transmissão, nem os quatro de dispositivo, nem os quatro separadores de informação.

É que eram instruções para uma máquina que já não existe. Um teletipo era uma máquina de escrever ligada por fio, e os códigos diziam-lhe o que fazer fisicamente: toca a campainha, perfura a fita, pára de ler, põe-te à escuta. Sobreviveram dois porque dois moviam papel. O retorno de carro deslizava o carro até à margem esquerda; a mudança de linha rodava o rolo uma linha. Um teletipo precisava dos dois para começar uma linha nova, e é por isso que um fim de linha do Windows continua a ocupar dois bytes e por isso que mover um ficheiro entre sistemas operativos ainda o pode estragar.

Os separadores de informação são o caso mais triste. O ASCII tem quatro caracteres — separador de ficheiro, de grupo, de registo e de unidade — pensados exactamente para o trabalho que o CSV faz mal, sem nenhum dos problemas de aspas e escapes que fazem da análise de CSV um campo minado. Estão em 0x1C a 0x1F desde 1963 e praticamente nada os usa.

A norma também não concorda consigo mesma

Nove caracteres ASCII têm mais do que um nome oficial, e a tabela mostra-os todos. O mais consequente é o 0x0A, que a base de dados do Unicode lista como LINE FEED, NEW LINE e END OF LINE. Três nomes no mesmo ficheiro para o carácter sobre cujo uso ninguém se entende resume bem porque os fins de linha são uma trapalhada: a própria norma nunca decidiu se avança o papel ou termina a linha.

O tabulador é CHARACTER TABULATION e também HORIZONTAL TABULATION; o 0x0B é LINE TABULATION e também VERTICAL TABULATION. O shift out e o shift in são ainda LOCKING-SHIFT ONE e LOCKING-SHIFT ZERO, de um esquema de troca de conjuntos de caracteres com que quase ninguém se cruza hoje.

Há um caso de fronteira que vale a pena conhecer. O espaço é imprimível — a base de dados chama-lhe SPACE, não <control> — e ainda assim é o único carácter imprimível com abreviatura oficial, SP, porque não desenha nada visível e as tabelas precisam de mostrar alguma coisa. É por isso que aqui vai com a pontuação.

Limites honestos

A contagem de uso é a medição de um corpus, não uma lei. Este site é TypeScript, HTML e prosa em inglês, portanto diz muito sobre o aspecto do código web moderno e nada sobre o que emite um protocolo série ou um terminal de ponto de venda. O software que fala com uma impressora, um leitor de códigos de barras ou um mainframe continua sem dúvida a usar estes códigos: é aí que os controlos de dispositivo e de transmissão sobrevivem. O que o número demonstra é que desapareceram do texto corrente.

O ASCII é além disso apenas os primeiros 128 pontos de código. Tudo o que leve acento, tudo o que esteja noutro alfabeto, todos os emoji e a esmagadora maioria da pontuação que um documento real usa ficam de fora. Se um carácter não está nesta página, o ASCII simplesmente não tem número para ele e o que quer é UTF-8, que começa por concordar exactamente com esta tabela e depois continua.

Por fim, o carácter de escape merece uma nota. Não aparece no nosso corpus, mas está longe de ter morrido: é ele que abre as sequências de escape de terminal que dão cor a qualquer ferramenta de linha de comandos. Não sai no texto guardado porque pertence ao fio entre um programa e um terminal, não aos ficheiros.

Porque é grátis?

Porque é uma tabela de factos públicos. A página é texto estático com uma caixa de pesquisa que a filtra no seu navegador: nada é enviado, nada é guardado e não há servidor pelo meio para a ler.

Portanto não há conta, nem registo, nem nada reservado. Os dados de base são a base de dados de caracteres do Unicode, que qualquer um pode descarregar, e o script que a transforma nesta página está no repositório ao lado dela.