Tabela ASCII
Os 128 códigos do ASCII com decimal, hexadecimal, octal e binário, o código de cada letra de um texto colado e o conserto do texto que chegou com Ação no lugar de Ação.
| Dec | Hex | Oct | Binário | Caractere | O que é |
|---|---|---|---|---|---|
| 0 | 00 | 000 | 00000000 | NUL | Nulo Marca o fim de um texto na linguagem C. Em planilha e em banco de dados é o byte que não deveria estar ali. |
| 1 | 01 | 001 | 00000001 | SOH | Começo do cabeçalho Separador em arquivo de integração antigo, de banco e de cartão. |
| 2 | 02 | 002 | 00000010 | STX | Começo do texto Abre o bloco de dados nos mesmos protocolos antigos. |
| 3 | 03 | 003 | 00000011 | ETX | Fim do texto É o que o Ctrl+C manda no terminal para interromper um programa. |
| 4 | 04 | 004 | 00000100 | EOT | Fim da transmissão O Ctrl+D do terminal, que encerra a entrada. |
| 5 | 05 | 005 | 00000101 | ENQ | Pergunta Um lado pergunta se o outro está lá. |
| 6 | 06 | 006 | 00000110 | ACK | Confirmação O "recebi" de um protocolo. |
| 7 | 07 | 007 | 00000111 | BEL | Sino Fazia o terminal apitar, e ainda apita em muito terminal de hoje. |
| 8 | 08 | 010 | 00001000 | BS | Volta um A tecla Backspace, que apaga para trás. |
| 9 | 09 | 011 | 00001001 | HT | Tabulação A tecla Tab. É o separador do arquivo .tsv. |
| 10 | 0A | 012 | 00001010 | LF | Nova linha A quebra de linha do Linux e do Mac. Escreve-se \n. |
| 11 | 0B | 013 | 00001011 | VT | Tabulação vertical Pulava uma quantidade fixa de linhas na impressora. |
| 12 | 0C | 014 | 00001100 | FF | Nova página Mandava a impressora pular para a folha seguinte. |
| 13 | 0D | 015 | 00001101 | CR | Retorno de carro No Windows a quebra de linha são dois bytes, CR e LF juntos. Escreve-se \r. |
| 14 | 0E | 016 | 00001110 | SO | Troca de conjunto Trocava o conjunto de caracteres da impressora. |
| 15 | 0F | 017 | 00001111 | SI | Volta o conjunto Desfaz o anterior. |
| 16 | 10 | 020 | 00010000 | DLE | Escape de enlace Avisa que o próximo byte é comando, e não dado. |
| 17 | 11 | 021 | 00010001 | DC1 | Controle 1 (XON) Destrava a transmissão. É o Ctrl+Q. |
| 18 | 12 | 022 | 00010010 | DC2 | Controle 2 Livre para o equipamento usar como quiser. |
| 19 | 13 | 023 | 00010011 | DC3 | Controle 3 (XOFF) Trava a transmissão. É o Ctrl+S, e é por isso que ele congelava o terminal. |
| 20 | 14 | 024 | 00010100 | DC4 | Controle 4 Livre para o equipamento usar como quiser. |
| 21 | 15 | 025 | 00010101 | NAK | Recusa O contrário do ACK: chegou errado, manda de novo. |
| 22 | 16 | 026 | 00010110 | SYN | Sincronismo Enchia a linha quando não havia dado para enviar. |
| 23 | 17 | 027 | 00010111 | ETB | Fim do bloco Fecha um pedaço da transmissão. |
| 24 | 18 | 030 | 00011000 | CAN | Cancela Diz para ignorar o que veio antes. |
| 25 | 19 | 031 | 00011001 | EM | Fim da mídia A fita ou o cartão acabaram. |
| 26 | 1A | 032 | 00011010 | SUB | Substituto O Ctrl+Z, que o DOS usava para marcar o fim de um arquivo de texto. |
| 27 | 1B | 033 | 00011011 | ESC | Escape A tecla Esc. Começa os códigos de cor e de posição do terminal. |
| 28 | 1C | 034 | 00011100 | FS | Separador de arquivo O primeiro dos quatro separadores de hierarquia. |
| 29 | 1D | 035 | 00011101 | GS | Separador de grupo Aparece no código de barras GS1, separando um campo do outro. |
| 30 | 1E | 036 | 00011110 | RS | Separador de registro Separa registros dentro de um grupo. |
| 31 | 1F | 037 | 00011111 | US | Separador de unidade Separa campos dentro de um registro. |
| 32 | 20 | 040 | 00100000 | espaço | Espaço O caractere mais usado de todos, e o único invisível que fica no meio do texto. |
| 33 | 21 | 041 | 00100001 | ! | Exclamação |
| 34 | 22 | 042 | 00100010 | " | Aspas retas Não são as aspas curvas do Word, que estão fora do ASCII. |
| 35 | 23 | 043 | 00100011 | # | Cerquilha O jogo da velha da hashtag e do número em endereço. |
| 36 | 24 | 044 | 00100100 | $ | Cifrão |
| 37 | 25 | 045 | 00100101 | % | Porcentagem |
| 38 | 26 | 046 | 00100110 | & | E comercial O "e" comercial, que separa parâmetros em um link. |
| 39 | 27 | 047 | 00100111 | ' | Apóstrofo Aspa simples reta. Não é o acento agudo nem a aspa curva. |
| 40 | 28 | 050 | 00101000 | ( | Abre parênteses |
| 41 | 29 | 051 | 00101001 | ) | Fecha parênteses |
| 42 | 2A | 052 | 00101010 | * | Asterisco |
| 43 | 2B | 053 | 00101011 | + | Mais |
| 44 | 2C | 054 | 00101100 | , | Vírgula O separador de decimal no Brasil, e o de coluna no CSV americano. |
| 45 | 2D | 055 | 00101101 | - | Hífen O traço curto do teclado. Não é o travessão nem o meia-risca. |
| 46 | 2E | 056 | 00101110 | . | Ponto Separador de milhar no Brasil e de decimal em inglês. |
| 47 | 2F | 057 | 00101111 | / | Barra |
| 48 | 30 | 060 | 00110000 | 0 | Dígito 0 |
| 49 | 31 | 061 | 00110001 | 1 | Dígito 1 |
| 50 | 32 | 062 | 00110010 | 2 | Dígito 2 |
| 51 | 33 | 063 | 00110011 | 3 | Dígito 3 |
| 52 | 34 | 064 | 00110100 | 4 | Dígito 4 |
| 53 | 35 | 065 | 00110101 | 5 | Dígito 5 |
| 54 | 36 | 066 | 00110110 | 6 | Dígito 6 |
| 55 | 37 | 067 | 00110111 | 7 | Dígito 7 |
| 56 | 38 | 070 | 00111000 | 8 | Dígito 8 |
| 57 | 39 | 071 | 00111001 | 9 | Dígito 9 |
| 58 | 3A | 072 | 00111010 | : | Dois-pontos |
| 59 | 3B | 073 | 00111011 | ; | Ponto e vírgula O separador de coluna do CSV que o Excel brasileiro abre. |
| 60 | 3C | 074 | 00111100 | < | Menor que |
| 61 | 3D | 075 | 00111101 | = | Igual |
| 62 | 3E | 076 | 00111110 | > | Maior que |
| 63 | 3F | 077 | 00111111 | ? | Interrogação |
| 64 | 40 | 100 | 01000000 | @ | Arroba |
| 65 | 41 | 101 | 01000001 | A | Letra A maiúscula |
| 66 | 42 | 102 | 01000010 | B | Letra B maiúscula |
| 67 | 43 | 103 | 01000011 | C | Letra C maiúscula |
| 68 | 44 | 104 | 01000100 | D | Letra D maiúscula |
| 69 | 45 | 105 | 01000101 | E | Letra E maiúscula |
| 70 | 46 | 106 | 01000110 | F | Letra F maiúscula |
| 71 | 47 | 107 | 01000111 | G | Letra G maiúscula |
| 72 | 48 | 110 | 01001000 | H | Letra H maiúscula |
| 73 | 49 | 111 | 01001001 | I | Letra I maiúscula |
| 74 | 4A | 112 | 01001010 | J | Letra J maiúscula |
| 75 | 4B | 113 | 01001011 | K | Letra K maiúscula |
| 76 | 4C | 114 | 01001100 | L | Letra L maiúscula |
| 77 | 4D | 115 | 01001101 | M | Letra M maiúscula |
| 78 | 4E | 116 | 01001110 | N | Letra N maiúscula |
| 79 | 4F | 117 | 01001111 | O | Letra O maiúscula |
| 80 | 50 | 120 | 01010000 | P | Letra P maiúscula |
| 81 | 51 | 121 | 01010001 | Q | Letra Q maiúscula |
| 82 | 52 | 122 | 01010010 | R | Letra R maiúscula |
| 83 | 53 | 123 | 01010011 | S | Letra S maiúscula |
| 84 | 54 | 124 | 01010100 | T | Letra T maiúscula |
| 85 | 55 | 125 | 01010101 | U | Letra U maiúscula |
| 86 | 56 | 126 | 01010110 | V | Letra V maiúscula |
| 87 | 57 | 127 | 01010111 | W | Letra W maiúscula |
| 88 | 58 | 130 | 01011000 | X | Letra X maiúscula |
| 89 | 59 | 131 | 01011001 | Y | Letra Y maiúscula |
| 90 | 5A | 132 | 01011010 | Z | Letra Z maiúscula |
| 91 | 5B | 133 | 01011011 | [ | Abre colchete |
| 92 | 5C | 134 | 01011100 | \ | Barra invertida |
| 93 | 5D | 135 | 01011101 | ] | Fecha colchete |
| 94 | 5E | 136 | 01011110 | ^ | Acento circunflexo solto Sozinho, sem letra embaixo. |
| 95 | 5F | 137 | 01011111 | _ | Sublinhado O underline dos nomes de arquivo. |
| 96 | 60 | 140 | 01100000 | ` | Acento grave solto Sozinho. Abre o bloco de código no Markdown e no WhatsApp. |
| 97 | 61 | 141 | 01100001 | a | Letra a minúscula |
| 98 | 62 | 142 | 01100010 | b | Letra b minúscula |
| 99 | 63 | 143 | 01100011 | c | Letra c minúscula |
| 100 | 64 | 144 | 01100100 | d | Letra d minúscula |
| 101 | 65 | 145 | 01100101 | e | Letra e minúscula |
| 102 | 66 | 146 | 01100110 | f | Letra f minúscula |
| 103 | 67 | 147 | 01100111 | g | Letra g minúscula |
| 104 | 68 | 150 | 01101000 | h | Letra h minúscula |
| 105 | 69 | 151 | 01101001 | i | Letra i minúscula |
| 106 | 6A | 152 | 01101010 | j | Letra j minúscula |
| 107 | 6B | 153 | 01101011 | k | Letra k minúscula |
| 108 | 6C | 154 | 01101100 | l | Letra l minúscula |
| 109 | 6D | 155 | 01101101 | m | Letra m minúscula |
| 110 | 6E | 156 | 01101110 | n | Letra n minúscula |
| 111 | 6F | 157 | 01101111 | o | Letra o minúscula |
| 112 | 70 | 160 | 01110000 | p | Letra p minúscula |
| 113 | 71 | 161 | 01110001 | q | Letra q minúscula |
| 114 | 72 | 162 | 01110010 | r | Letra r minúscula |
| 115 | 73 | 163 | 01110011 | s | Letra s minúscula |
| 116 | 74 | 164 | 01110100 | t | Letra t minúscula |
| 117 | 75 | 165 | 01110101 | u | Letra u minúscula |
| 118 | 76 | 166 | 01110110 | v | Letra v minúscula |
| 119 | 77 | 167 | 01110111 | w | Letra w minúscula |
| 120 | 78 | 170 | 01111000 | x | Letra x minúscula |
| 121 | 79 | 171 | 01111001 | y | Letra y minúscula |
| 122 | 7A | 172 | 01111010 | z | Letra z minúscula |
| 123 | 7B | 173 | 01111011 | { | Abre chave |
| 124 | 7C | 174 | 01111100 | | | Barra vertical O pipe do terminal. |
| 125 | 7D | 175 | 01111101 | } | Fecha chave |
| 126 | 7E | 176 | 01111110 | ~ | Til solto Sozinho, sem letra embaixo. |
| 127 | 7F | 177 | 01111111 | DEL | Apaga No cartão perfurado era o código com todos os furos abertos, e por isso ele ficou no fim da tabela em vez do começo. |
Descobrir o código de cada letra de um texto
Cola qualquer coisa aqui embaixo e a tabela mostra, letra por letra, o número em decimal, em hexadecimal e em binário. Quando aparecer alguma coisa que não é ASCII (acento, cedilha, emoji, aspas curvas do Word), a linha diz isso e mostra os bytes que ela ocupa em UTF-8.
Depois do 127: as três tabelas que se chamam "ASCII estendida"
O ASCII de verdade acaba no 127. Daí para a frente, cada fabricante inventou a sua própria continuação, e todas ganharam o mesmo apelido. É por isso que a "tabela ASCII estendida" que você acha em um site não bate com a de outro: elas são tabelas diferentes.
Aqui estão as três que ainda aparecem na vida real de quem mexe com arquivo no Brasil, lado a lado. A Windows-1252 é a que o Windows usa quando o programa não diz nada. A ISO-8859-1 (também chamada de Latin-1) é a das páginas antigas da internet. E a CP850 é a do DOS, que ainda sai de sistema de cupom fiscal, de balança e de arquivo de remessa de banco. Repare que o mesmo número 231 é ç nas duas primeiras e þ na do DOS.
| Dec | Hex | Windows-1252 | ISO-8859-1 | CP850 (DOS) | Alt no teclado |
|---|---|---|---|---|---|
| 128 | 80 | € | · | Ç | Alt+0128Alt+128 |
| 129 | 81 | · | · | ü | ·Alt+129 |
| 130 | 82 | ‚ | · | é | Alt+0130Alt+130 |
| 131 | 83 | ƒ | · | â | Alt+0131Alt+131 |
| 132 | 84 | „ | · | ä | Alt+0132Alt+132 |
| 133 | 85 | … | · | à | Alt+0133Alt+133 |
| 134 | 86 | † | · | å | Alt+0134Alt+134 |
| 135 | 87 | ‡ | · | ç | Alt+0135Alt+135 |
| 136 | 88 | ˆ | · | ê | Alt+0136Alt+136 |
| 137 | 89 | ‰ | · | ë | Alt+0137Alt+137 |
| 138 | 8A | Š | · | è | Alt+0138Alt+138 |
| 139 | 8B | ‹ | · | ï | Alt+0139Alt+139 |
| 140 | 8C | Œ | · | î | Alt+0140Alt+140 |
| 141 | 8D | · | · | ì | ·Alt+141 |
| 142 | 8E | Ž | · | Ä | Alt+0142Alt+142 |
| 143 | 8F | · | · | Å | ·Alt+143 |
| 144 | 90 | · | · | É | ·Alt+144 |
| 145 | 91 | ‘ | · | æ | Alt+0145Alt+145 |
| 146 | 92 | ’ | · | Æ | Alt+0146Alt+146 |
| 147 | 93 | “ | · | ô | Alt+0147Alt+147 |
| 148 | 94 | ” | · | ö | Alt+0148Alt+148 |
| 149 | 95 | • | · | ò | Alt+0149Alt+149 |
| 150 | 96 | – | · | û | Alt+0150Alt+150 |
| 151 | 97 | — | · | ù | Alt+0151Alt+151 |
| 152 | 98 | ˜ | · | ÿ | Alt+0152Alt+152 |
| 153 | 99 | ™ | · | Ö | Alt+0153Alt+153 |
| 154 | 9A | š | · | Ü | Alt+0154Alt+154 |
| 155 | 9B | › | · | ø | Alt+0155Alt+155 |
| 156 | 9C | œ | · | £ | Alt+0156Alt+156 |
| 157 | 9D | · | · | Ø | ·Alt+157 |
| 158 | 9E | ž | · | × | Alt+0158Alt+158 |
| 159 | 9F | Ÿ | · | ƒ | Alt+0159Alt+159 |
| 160 | A0 | | | á | Alt+0160Alt+160 |
| 161 | A1 | ¡ | ¡ | í | Alt+0161Alt+161 |
| 162 | A2 | ¢ | ¢ | ó | Alt+0162Alt+162 |
| 163 | A3 | £ | £ | ú | Alt+0163Alt+163 |
| 164 | A4 | ¤ | ¤ | ñ | Alt+0164Alt+164 |
| 165 | A5 | ¥ | ¥ | Ñ | Alt+0165Alt+165 |
| 166 | A6 | ¦ | ¦ | ª | Alt+0166Alt+166 |
| 167 | A7 | § | § | º | Alt+0167Alt+167 |
| 168 | A8 | ¨ | ¨ | ¿ | Alt+0168Alt+168 |
| 169 | A9 | © | © | ® | Alt+0169Alt+169 |
| 170 | AA | ª | ª | ¬ | Alt+0170Alt+170 |
| 171 | AB | « | « | ½ | Alt+0171Alt+171 |
| 172 | AC | ¬ | ¬ | ¼ | Alt+0172Alt+172 |
| 173 | AD | | | ¡ | Alt+0173Alt+173 |
| 174 | AE | ® | ® | « | Alt+0174Alt+174 |
| 175 | AF | ¯ | ¯ | » | Alt+0175Alt+175 |
| 176 | B0 | ° | ° | ░ | Alt+0176Alt+176 |
| 177 | B1 | ± | ± | ▒ | Alt+0177Alt+177 |
| 178 | B2 | ² | ² | ▓ | Alt+0178Alt+178 |
| 179 | B3 | ³ | ³ | │ | Alt+0179Alt+179 |
| 180 | B4 | ´ | ´ | ┤ | Alt+0180Alt+180 |
| 181 | B5 | µ | µ | Á | Alt+0181Alt+181 |
| 182 | B6 | ¶ | ¶ | Â | Alt+0182Alt+182 |
| 183 | B7 | · | · | À | Alt+0183Alt+183 |
| 184 | B8 | ¸ | ¸ | © | Alt+0184Alt+184 |
| 185 | B9 | ¹ | ¹ | ╣ | Alt+0185Alt+185 |
| 186 | BA | º | º | ║ | Alt+0186Alt+186 |
| 187 | BB | » | » | ╗ | Alt+0187Alt+187 |
| 188 | BC | ¼ | ¼ | ╝ | Alt+0188Alt+188 |
| 189 | BD | ½ | ½ | ¢ | Alt+0189Alt+189 |
| 190 | BE | ¾ | ¾ | ¥ | Alt+0190Alt+190 |
| 191 | BF | ¿ | ¿ | ┐ | Alt+0191Alt+191 |
| 192 | C0 | À | À | └ | Alt+0192Alt+192 |
| 193 | C1 | Á | Á | ┴ | Alt+0193Alt+193 |
| 194 | C2 | Â | Â | ┬ | Alt+0194Alt+194 |
| 195 | C3 | Ã | Ã | ├ | Alt+0195Alt+195 |
| 196 | C4 | Ä | Ä | ─ | Alt+0196Alt+196 |
| 197 | C5 | Å | Å | ┼ | Alt+0197Alt+197 |
| 198 | C6 | Æ | Æ | ã | Alt+0198Alt+198 |
| 199 | C7 | Ç | Ç | Ã | Alt+0199Alt+199 |
| 200 | C8 | È | È | ╚ | Alt+0200Alt+200 |
| 201 | C9 | É | É | ╔ | Alt+0201Alt+201 |
| 202 | CA | Ê | Ê | ╩ | Alt+0202Alt+202 |
| 203 | CB | Ë | Ë | ╦ | Alt+0203Alt+203 |
| 204 | CC | Ì | Ì | ╠ | Alt+0204Alt+204 |
| 205 | CD | Í | Í | ═ | Alt+0205Alt+205 |
| 206 | CE | Î | Î | ╬ | Alt+0206Alt+206 |
| 207 | CF | Ï | Ï | ¤ | Alt+0207Alt+207 |
| 208 | D0 | Ð | Ð | ð | Alt+0208Alt+208 |
| 209 | D1 | Ñ | Ñ | Ð | Alt+0209Alt+209 |
| 210 | D2 | Ò | Ò | Ê | Alt+0210Alt+210 |
| 211 | D3 | Ó | Ó | Ë | Alt+0211Alt+211 |
| 212 | D4 | Ô | Ô | È | Alt+0212Alt+212 |
| 213 | D5 | Õ | Õ | ı | Alt+0213Alt+213 |
| 214 | D6 | Ö | Ö | Í | Alt+0214Alt+214 |
| 215 | D7 | × | × | Î | Alt+0215Alt+215 |
| 216 | D8 | Ø | Ø | Ï | Alt+0216Alt+216 |
| 217 | D9 | Ù | Ù | ┘ | Alt+0217Alt+217 |
| 218 | DA | Ú | Ú | ┌ | Alt+0218Alt+218 |
| 219 | DB | Û | Û | █ | Alt+0219Alt+219 |
| 220 | DC | Ü | Ü | ▄ | Alt+0220Alt+220 |
| 221 | DD | Ý | Ý | ¦ | Alt+0221Alt+221 |
| 222 | DE | Þ | Þ | Ì | Alt+0222Alt+222 |
| 223 | DF | ß | ß | ▀ | Alt+0223Alt+223 |
| 224 | E0 | à | à | Ó | Alt+0224Alt+224 |
| 225 | E1 | á | á | ß | Alt+0225Alt+225 |
| 226 | E2 | â | â | Ô | Alt+0226Alt+226 |
| 227 | E3 | ã | ã | Ò | Alt+0227Alt+227 |
| 228 | E4 | ä | ä | õ | Alt+0228Alt+228 |
| 229 | E5 | å | å | Õ | Alt+0229Alt+229 |
| 230 | E6 | æ | æ | µ | Alt+0230Alt+230 |
| 231 | E7 | ç | ç | þ | Alt+0231Alt+231 |
| 232 | E8 | è | è | Þ | Alt+0232Alt+232 |
| 233 | E9 | é | é | Ú | Alt+0233Alt+233 |
| 234 | EA | ê | ê | Û | Alt+0234Alt+234 |
| 235 | EB | ë | ë | Ù | Alt+0235Alt+235 |
| 236 | EC | ì | ì | ý | Alt+0236Alt+236 |
| 237 | ED | í | í | Ý | Alt+0237Alt+237 |
| 238 | EE | î | î | ¯ | Alt+0238Alt+238 |
| 239 | EF | ï | ï | ´ | Alt+0239Alt+239 |
| 240 | F0 | ð | ð | | Alt+0240Alt+240 |
| 241 | F1 | ñ | ñ | ± | Alt+0241Alt+241 |
| 242 | F2 | ò | ò | ‗ | Alt+0242Alt+242 |
| 243 | F3 | ó | ó | ¾ | Alt+0243Alt+243 |
| 244 | F4 | ô | ô | ¶ | Alt+0244Alt+244 |
| 245 | F5 | õ | õ | § | Alt+0245Alt+245 |
| 246 | F6 | ö | ö | ÷ | Alt+0246Alt+246 |
| 247 | F7 | ÷ | ÷ | ¸ | Alt+0247Alt+247 |
| 248 | F8 | ø | ø | ° | Alt+0248Alt+248 |
| 249 | F9 | ù | ù | ¨ | Alt+0249Alt+249 |
| 250 | FA | ú | ú | · | Alt+0250Alt+250 |
| 251 | FB | û | û | ¹ | Alt+0251Alt+251 |
| 252 | FC | ü | ü | ³ | Alt+0252Alt+252 |
| 253 | FD | ý | ý | ² | Alt+0253Alt+253 |
| 254 | FE | þ | þ | ■ | Alt+0254Alt+254 |
| 255 | FF | ÿ | ÿ | | Alt+0255Alt+255 |
A coluna do Alt vale no Windows, com o teclado numérico da direita e o Num Lock ligado. O detalhe que quase ninguém sabe: com zero na frente (Alt+0231) o Windows usa a tabela Windows-1252, e sem o zero (Alt+135) ele usa a do DOS. Os dois dão ç, por caminhos diferentes. No Mac não existe esse atalho: lá o cedilha sai com Option+C.
O conserto do "Ação"
Todo mundo já viu: um nome que era Ação aparece como Ação na planilha, no sistema ou no e-mail. Isso é texto salvo em UTF-8 e lido como se fosse Windows-1252. A informação não se perdeu, ela só foi lida com a tabela errada, e por isso quase sempre dá para desfazer.
O que é a tabela ASCII
Computador não guarda letra. Ele guarda número. A tabela ASCII é o acordo, fechado em 1963 e revisado em 1967, que diz qual número corresponde a qual letra: o 65 é o A, o 97 é o a, o 48 é o 0, o 32 é o espaço.
Parece detalhe técnico, mas é o acordo que faz um texto escrito no seu computador chegar inteiro no computador de outra pessoa, em outro país, feito por outro fabricante. Antes dele cada máquina tinha a sua própria tabela, e trocar arquivo entre duas marcas diferentes era trabalho de tradução.
São 128 códigos, do 0 ao 127. Desses, 95 têm desenho (letra, número, símbolo e o espaço) e 33 não têm: são comandos, coisas como “quebra a linha aqui” e “toca o apito”.
Por que a tabela para no 127
Porque ela foi feita para 7 bits. Com 7 casas de zero e um dá para formar exatamente 128 combinações diferentes, de 0000000 a 1111111, e é por isso que o último código é o 127 e não o 255.
O oitavo bit do byte existia, mas era usado para conferência: em muita linha de transmissão da época ele guardava a paridade, um sinal que denunciava se algum bit tinha virado no caminho. Quando o hardware ficou confiável e esse bit sobrou, cada fabricante resolveu preencher a faixa de 128 a 255 do seu próprio jeito, e é daí que vem toda a confusão que a segunda tabela desta página mostra.
Os truques que a tabela guarda
A ordem dos códigos não é aleatória, e três coisas saem de graça dela.
Maiúscula e minúscula são a mesma letra com 32 de diferença. A é 65 e a é 97. B é 66 e b é 98. Sempre 32. E 32 é uma potência de 2, então trocar maiúscula por minúscula é ligar ou desligar um bit só. É por isso que essa conversão é a operação mais barata que existe em qualquer linguagem.
O código do dígito é 48 mais o valor. O caractere 7 é o número 55. Subtrair 48 transforma o desenho no valor, e é literalmente isso que acontece toda vez que um sistema lê um número digitado.
As letras estão em ordem alfabética. Por isso ordenar nomes é comparar números. E por isso, sem tratamento nenhum, “Zebra” vem antes de “abelha” (90 é menor que 97), que é o motivo de lista de cliente aparecer ordenada de um jeito esquisito em sistema antigo.
Os 33 códigos que não têm desenho
Do 0 ao 31, mais o 127, ficam os caracteres de controle. Eles nasceram para mandar em teletipo e impressora, e a maioria virou peça de museu. Quatro continuam trabalhando todo dia:
10 (LF) e 13 (CR) são a quebra de linha, e são a origem da briga mais antiga da informática. O Linux e o Mac quebram linha com o 10 sozinho. O Windows usa os dois, 13 e 10, um atrás do outro. É por isso que um arquivo salvo no Bloco de Notas às vezes aparece com uma linha só em outro programa, ou com um quadradinho estranho no fim de cada linha.
9 (TAB) é a tabulação, e é o separador dos arquivos .tsv que muito sistema exporta.
0 (NUL) é o byte nulo. Na linguagem C ele marca onde o texto acaba. Em planilha e em banco de dados, ele é aquele byte invisível que faz a importação parar no meio sem explicar por quê.
27 (ESC) é a tecla Esc, e é ela que abre os códigos de cor do terminal. Quando um log aparece cheio de [0;31m no meio das frases, é isso: alguém salvou em arquivo o texto colorido que era para a tela.
A armadilha da “ASCII estendida”
Aqui está a parte que confunde todo mundo, e é o motivo de duas tabelas da internet nunca baterem: não existe uma tabela ASCII estendida. Existem várias, todas com o mesmo apelido.
O ASCII de verdade acaba no 127. De 128 a 255, cada fabricante inventou a sua continuação. A IBM fez a do DOS (a CP850 no Brasil, cheia de moldura para desenhar caixa na tela). A ISO padronizou a ISO-8859-1, conhecida como Latin-1, que atendia as línguas da Europa Ocidental. A Microsoft fez a Windows-1252, quase igual à Latin-1, mas com aspas curvas, travessão e o símbolo do euro naquele pedaço que a ISO tinha deixado vazio.
Resultado: o número 231 é ç na Windows-1252 e na Latin-1, e é þ na tabela do DOS. O número 128 é o símbolo do euro em uma e o Ç em outra. Nenhuma delas está errada. Elas são tabelas diferentes com o mesmo apelido, e a tabela do meio desta página mostra as três lado a lado justamente por isso.
Um detalhe que quase ninguém sabe: se uma página da internet declara que está em ISO-8859-1, os navegadores de hoje leem ela como Windows-1252 assim mesmo. Isso está escrito no padrão que eles seguem, e existe porque metade das páginas antigas declarava uma coisa e usava a outra.
ASCII, Latin-1 e UTF-8: quem é quem
O UTF-8 resolveu a bagunça de um jeito elegante. Ele cabe todos os caracteres do mundo, e mesmo assim os 128 primeiros códigos dele são exatamente os do ASCII. Um arquivo que só tem letra sem acento, número e pontuação é, ao mesmo tempo, um arquivo ASCII e um arquivo UTF-8 válido. Os dois são o mesmo arquivo.
A diferença aparece no acento. Em UTF-8, o ç não é um byte: são dois, C3 e A7. O ã também são dois, C3 e A3. O emoji costuma ocupar quatro. É por isso que “Ação” tem 4 letras e 6 bytes, e é por isso que campo de banco de dados dimensionado em bytes corta nome no meio quando ele tem cedilha.
Se você quiser ver isso acontecendo byte a byte, o tradutor de binário abre qualquer texto em UTF-8 na tela.
De onde vem o “Ação”
Agora dá para entender o defeito mais comum da vida digital brasileira. O texto foi salvo em UTF-8, onde o ç ocupa os bytes C3 e A7. Do outro lado, um programa leu esse arquivo achando que era Windows-1252, onde cada byte é uma letra. Ele encontrou o C3 e escreveu Ã. Encontrou o A7 e escreveu §. Uma letra virou duas, e “Ação” virou “Ação”.
A boa notícia é que nada se perdeu. Os bytes continuam todos lá, só foram lidos com a tabela errada. Por isso o conserto é possível, e é o que o último bloco desta página faz: ele desfaz a leitura errada e devolve o texto original.
O contrário também acontece, e o sintoma é outro: quando aparece ? ou um losango com interrogação no lugar do acento, aí sim a informação se perdeu de verdade, porque o sistema jogou fora o que não sabia representar. Esse não tem volta.
Onde isso aparece na vida de quem tem empresa
Arquivo de remessa de banco. Os manuais dos bancos (o CNAB de sempre) pedem o arquivo sem acento, em posição fixa. Nome de cliente com cedilha volta como erro de layout.
Importação de planilha. O CSV que o sistema exportou em UTF-8 e o Excel abriu como Windows-1252 é a receita exata do “Ação” na coluna do nome. Salvar como “CSV UTF-8” no próprio Excel costuma resolver.
Cupom fiscal, balança e impressora térmica. Boa parte desses equipamentos ainda fala a tabela do DOS. É por isso que o acento sai trocado no cupom mesmo com o sistema todo em UTF-8.
Nome de arquivo e endereço de site. Fora do ASCII, o caminho é sempre o mesmo: espaço, acento e cedilha viram código no link. Quem quiser ver isso montado, o codificador de https://kitdenegocios.com.br/ mostra a conversão inteira.
Texto colado do Word. As aspas curvas, o travessão e o espaço que não separa são todos caracteres fora do ASCII, e são a causa número um de campo que “não aceita” um texto que parece normal. O segundo bloco desta página aponta cada um deles pelo nome.
Perguntas rápidas
O que é a tabela ASCII?
É a tabela que diz qual número corresponde a qual letra dentro do computador. São 128 códigos, do 0 ao 127, fechados em um padrão de 1963 e revisados em 1967. Desses, 95 têm desenho (letras, números, símbolos e o espaço) e 33 são comandos sem desenho, como a quebra de linha e a tabulação. Foi esse acordo que permitiu computadores de fabricantes diferentes trocarem texto sem tradução.
Qual é o código ASCII da letra A?
O A maiúsculo é 65, e o a minúsculo é 97. A diferença de 32 entre maiúscula e minúscula vale para o alfabeto inteiro: B é 66 e b é 98, Z é 90 e z é 122. Como 32 é uma potência de 2, trocar maiúscula por minúscula é ligar ou desligar um único bit, e por isso é uma das operações mais baratas que existem em programação.
Como escrever um caractere pelo número dele no teclado?
No Windows, segure a tecla Alt e digite o número no teclado numérico da direita, com o Num Lock ligado. O detalhe que quase ninguém sabe é o zero: com zero na frente (Alt+0231) o Windows usa a tabela Windows-1252, e sem o zero (Alt+135) ele usa a tabela do DOS. Os dois dão ç, por caminhos diferentes. No Mac não existe esse atalho, e o cedilha sai com Option+C.
Por que a tabela ASCII estendida de um site é diferente da de outro?
Porque não existe uma tabela ASCII estendida, existem várias com o mesmo apelido. O ASCII de verdade acaba no 127, e de 128 a 255 cada fabricante inventou a sua continuação: a CP850 do DOS, a ISO-8859-1 da Europa e a Windows-1252 da Microsoft. O número 231, por exemplo, é ç em duas delas e þ na terceira. Nesta página as três aparecem lado a lado.
Por que aparece ção no lugar de ção?
Porque o texto foi salvo em UTF-8, onde o ç ocupa dois bytes (C3 e A7), e depois foi lido por um programa que achou que cada byte era uma letra da tabela Windows-1252. O C3 virou à e o A7 virou §. Nenhuma informação se perdeu no caminho, só a leitura foi feita com a tabela errada, e é por isso que dá para desfazer. O último bloco desta página faz esse conserto.
ASCII e UTF-8 são a mesma coisa?
Não, mas um contém o outro. Os 128 primeiros códigos do UTF-8 são exatamente os do ASCII, então um arquivo que só tem letra sem acento, número e pontuação é ASCII e UTF-8 ao mesmo tempo. A diferença aparece no acento: em UTF-8 o ç e o ã ocupam dois bytes cada, e o emoji ocupa quatro. É por isso que Ação tem 4 letras e 6 bytes.
Quantos caracteres tem a tabela ASCII?
128, numerados de 0 a 127. O número vem da largura do padrão: ele foi feito para 7 bits, e com 7 casas de zero e um dá para formar exatamente 128 combinações. O oitavo bit do byte existia, mas servia para conferir se a transmissão tinha corrompido algum dado. Quando ele sobrou, cada fabricante preencheu a faixa de 128 a 255 do seu jeito.
🧮 Veja também
Ver todas as ferramentas →📖 Do blog do Kit de Negócios
Ver todos os posts →








🚀 Para o seu negócio crescer




Links de afiliado: se você comprar por eles, o Kit de Negócios recebe uma comissão pequena, sem custo nenhum para você. É o que paga o site. 💙