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.

Buscar na tabela: 128 códigos, do 0 ao 127
DecHexOctBinárioCaractereO que é
00000000000000NULNulo Marca o fim de um texto na linguagem C. Em planilha e em banco de dados é o byte que não deveria estar ali.
10100100000001SOHComeço do cabeçalho Separador em arquivo de integração antigo, de banco e de cartão.
20200200000010STXComeço do texto Abre o bloco de dados nos mesmos protocolos antigos.
30300300000011ETXFim do texto É o que o Ctrl+C manda no terminal para interromper um programa.
40400400000100EOTFim da transmissão O Ctrl+D do terminal, que encerra a entrada.
50500500000101ENQPergunta Um lado pergunta se o outro está lá.
60600600000110ACKConfirmação O "recebi" de um protocolo.
70700700000111BELSino Fazia o terminal apitar, e ainda apita em muito terminal de hoje.
80801000001000BSVolta um A tecla Backspace, que apaga para trás.
90901100001001HTTabulação A tecla Tab. É o separador do arquivo .tsv.
100A01200001010LFNova linha A quebra de linha do Linux e do Mac. Escreve-se \n.
110B01300001011VTTabulação vertical Pulava uma quantidade fixa de linhas na impressora.
120C01400001100FFNova página Mandava a impressora pular para a folha seguinte.
130D01500001101CRRetorno de carro No Windows a quebra de linha são dois bytes, CR e LF juntos. Escreve-se \r.
140E01600001110SOTroca de conjunto Trocava o conjunto de caracteres da impressora.
150F01700001111SIVolta o conjunto Desfaz o anterior.
161002000010000DLEEscape de enlace Avisa que o próximo byte é comando, e não dado.
171102100010001DC1Controle 1 (XON) Destrava a transmissão. É o Ctrl+Q.
181202200010010DC2Controle 2 Livre para o equipamento usar como quiser.
191302300010011DC3Controle 3 (XOFF) Trava a transmissão. É o Ctrl+S, e é por isso que ele congelava o terminal.
201402400010100DC4Controle 4 Livre para o equipamento usar como quiser.
211502500010101NAKRecusa O contrário do ACK: chegou errado, manda de novo.
221602600010110SYNSincronismo Enchia a linha quando não havia dado para enviar.
231702700010111ETBFim do bloco Fecha um pedaço da transmissão.
241803000011000CANCancela Diz para ignorar o que veio antes.
251903100011001EMFim da mídia A fita ou o cartão acabaram.
261A03200011010SUBSubstituto O Ctrl+Z, que o DOS usava para marcar o fim de um arquivo de texto.
271B03300011011ESCEscape A tecla Esc. Começa os códigos de cor e de posição do terminal.
281C03400011100FSSeparador de arquivo O primeiro dos quatro separadores de hierarquia.
291D03500011101GSSeparador de grupo Aparece no código de barras GS1, separando um campo do outro.
301E03600011110RSSeparador de registro Separa registros dentro de um grupo.
311F03700011111USSeparador de unidade Separa campos dentro de um registro.
322004000100000espaçoEspaço O caractere mais usado de todos, e o único invisível que fica no meio do texto.
332104100100001!Exclamação
342204200100010"Aspas retas Não são as aspas curvas do Word, que estão fora do ASCII.
352304300100011#Cerquilha O jogo da velha da hashtag e do número em endereço.
362404400100100$Cifrão
372504500100101%Porcentagem
382604600100110&E comercial O "e" comercial, que separa parâmetros em um link.
392704700100111'Apóstrofo Aspa simples reta. Não é o acento agudo nem a aspa curva.
402805000101000(Abre parênteses
412905100101001)Fecha parênteses
422A05200101010*Asterisco
432B05300101011+Mais
442C05400101100,Vírgula O separador de decimal no Brasil, e o de coluna no CSV americano.
452D05500101101-Hífen O traço curto do teclado. Não é o travessão nem o meia-risca.
462E05600101110.Ponto Separador de milhar no Brasil e de decimal em inglês.
472F05700101111/Barra
4830060001100000Dígito 0
4931061001100011Dígito 1
5032062001100102Dígito 2
5133063001100113Dígito 3
5234064001101004Dígito 4
5335065001101015Dígito 5
5436066001101106Dígito 6
5537067001101117Dígito 7
5638070001110008Dígito 8
5739071001110019Dígito 9
583A07200111010:Dois-pontos
593B07300111011;Ponto e vírgula O separador de coluna do CSV que o Excel brasileiro abre.
603C07400111100<Menor que
613D07500111101=Igual
623E07600111110>Maior que
633F07700111111?Interrogação
644010001000000@Arroba
654110101000001ALetra A maiúscula
664210201000010BLetra B maiúscula
674310301000011CLetra C maiúscula
684410401000100DLetra D maiúscula
694510501000101ELetra E maiúscula
704610601000110FLetra F maiúscula
714710701000111GLetra G maiúscula
724811001001000HLetra H maiúscula
734911101001001ILetra I maiúscula
744A11201001010JLetra J maiúscula
754B11301001011KLetra K maiúscula
764C11401001100LLetra L maiúscula
774D11501001101MLetra M maiúscula
784E11601001110NLetra N maiúscula
794F11701001111OLetra O maiúscula
805012001010000PLetra P maiúscula
815112101010001QLetra Q maiúscula
825212201010010RLetra R maiúscula
835312301010011SLetra S maiúscula
845412401010100TLetra T maiúscula
855512501010101ULetra U maiúscula
865612601010110VLetra V maiúscula
875712701010111WLetra W maiúscula
885813001011000XLetra X maiúscula
895913101011001YLetra Y maiúscula
905A13201011010ZLetra Z maiúscula
915B13301011011[Abre colchete
925C13401011100\Barra invertida
935D13501011101]Fecha colchete
945E13601011110^Acento circunflexo solto Sozinho, sem letra embaixo.
955F13701011111_Sublinhado O underline dos nomes de arquivo.
966014001100000`Acento grave solto Sozinho. Abre o bloco de código no Markdown e no WhatsApp.
976114101100001aLetra a minúscula
986214201100010bLetra b minúscula
996314301100011cLetra c minúscula
1006414401100100dLetra d minúscula
1016514501100101eLetra e minúscula
1026614601100110fLetra f minúscula
1036714701100111gLetra g minúscula
1046815001101000hLetra h minúscula
1056915101101001iLetra i minúscula
1066A15201101010jLetra j minúscula
1076B15301101011kLetra k minúscula
1086C15401101100lLetra l minúscula
1096D15501101101mLetra m minúscula
1106E15601101110nLetra n minúscula
1116F15701101111oLetra o minúscula
1127016001110000pLetra p minúscula
1137116101110001qLetra q minúscula
1147216201110010rLetra r minúscula
1157316301110011sLetra s minúscula
1167416401110100tLetra t minúscula
1177516501110101uLetra u minúscula
1187616601110110vLetra v minúscula
1197716701110111wLetra w minúscula
1207817001111000xLetra x minúscula
1217917101111001yLetra y minúscula
1227A17201111010zLetra z minúscula
1237B17301111011{Abre chave
1247C17401111100|Barra vertical O pipe do terminal.
1257D17501111101}Fecha chave
1267E17601111110~Til solto Sozinho, sem letra embaixo.
1277F17701111111DELApaga 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.

A conta acontece dentro do seu navegador. O texto não é enviado nem guardado em lugar nenhum.

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.

DecHexWindows-1252ISO-8859-1CP850 (DOS)Alt no teclado
12880·ÇAlt+0128Alt+128
12981··ü·Alt+129
13082·éAlt+0130Alt+130
13183ƒ·âAlt+0131Alt+131
13284·äAlt+0132Alt+132
13385·àAlt+0133Alt+133
13486·åAlt+0134Alt+134
13587·çAlt+0135Alt+135
13688ˆ·êAlt+0136Alt+136
13789·ëAlt+0137Alt+137
1388AŠ·èAlt+0138Alt+138
1398B·ïAlt+0139Alt+139
1408CŒ·îAlt+0140Alt+140
1418D··ì·Alt+141
1428EŽ·ÄAlt+0142Alt+142
1438F··Å·Alt+143
14490··É·Alt+144
14591·æAlt+0145Alt+145
14692·ÆAlt+0146Alt+146
14793·ôAlt+0147Alt+147
14894·öAlt+0148Alt+148
14995·òAlt+0149Alt+149
15096·ûAlt+0150Alt+150
15197·ùAlt+0151Alt+151
15298˜·ÿAlt+0152Alt+152
15399·ÖAlt+0153Alt+153
1549Aš·ÜAlt+0154Alt+154
1559B·øAlt+0155Alt+155
1569Cœ·£Alt+0156Alt+156
1579D··Ø·Alt+157
1589Ež·×Alt+0158Alt+158
1599FŸ·ƒAlt+0159Alt+159
160A0  áAlt+0160Alt+160
161A1¡¡íAlt+0161Alt+161
162A2¢¢óAlt+0162Alt+162
163A3££úAlt+0163Alt+163
164A4¤¤ñAlt+0164Alt+164
165A5¥¥ÑAlt+0165Alt+165
166A6¦¦ªAlt+0166Alt+166
167A7§§ºAlt+0167Alt+167
168A8¨¨¿Alt+0168Alt+168
169A9©©®Alt+0169Alt+169
170AAªª¬Alt+0170Alt+170
171AB««½Alt+0171Alt+171
172AC¬¬¼Alt+0172Alt+172
173AD­­¡Alt+0173Alt+173
174AE®®«Alt+0174Alt+174
175AF¯¯»Alt+0175Alt+175
176B0°°Alt+0176Alt+176
177B1±±Alt+0177Alt+177
178B2²²Alt+0178Alt+178
179B3³³Alt+0179Alt+179
180B4´´Alt+0180Alt+180
181B5µµÁAlt+0181Alt+181
182B6ÂAlt+0182Alt+182
183B7··ÀAlt+0183Alt+183
184B8¸¸©Alt+0184Alt+184
185B9¹¹Alt+0185Alt+185
186BAººAlt+0186Alt+186
187BB»»Alt+0187Alt+187
188BC¼¼Alt+0188Alt+188
189BD½½¢Alt+0189Alt+189
190BE¾¾¥Alt+0190Alt+190
191BF¿¿Alt+0191Alt+191
192C0ÀÀAlt+0192Alt+192
193C1ÁÁAlt+0193Alt+193
194C2ÂÂAlt+0194Alt+194
195C3ÃÃAlt+0195Alt+195
196C4ÄÄAlt+0196Alt+196
197C5ÅÅAlt+0197Alt+197
198C6ÆÆãAlt+0198Alt+198
199C7ÇÇÃAlt+0199Alt+199
200C8ÈÈAlt+0200Alt+200
201C9ÉÉAlt+0201Alt+201
202CAÊÊAlt+0202Alt+202
203CBËËAlt+0203Alt+203
204CCÌÌAlt+0204Alt+204
205CDÍÍAlt+0205Alt+205
206CEÎÎAlt+0206Alt+206
207CFÏϤAlt+0207Alt+207
208D0ÐÐðAlt+0208Alt+208
209D1ÑÑÐAlt+0209Alt+209
210D2ÒÒÊAlt+0210Alt+210
211D3ÓÓËAlt+0211Alt+211
212D4ÔÔÈAlt+0212Alt+212
213D5ÕÕıAlt+0213Alt+213
214D6ÖÖÍAlt+0214Alt+214
215D7××ÎAlt+0215Alt+215
216D8ØØÏAlt+0216Alt+216
217D9ÙÙAlt+0217Alt+217
218DAÚÚAlt+0218Alt+218
219DBÛÛAlt+0219Alt+219
220DCÜÜAlt+0220Alt+220
221DDÝݦAlt+0221Alt+221
222DEÞÞÌAlt+0222Alt+222
223DFßßAlt+0223Alt+223
224E0ààÓAlt+0224Alt+224
225E1ááßAlt+0225Alt+225
226E2ââÔAlt+0226Alt+226
227E3ããÒAlt+0227Alt+227
228E4ääõAlt+0228Alt+228
229E5ååÕAlt+0229Alt+229
230E6ææµAlt+0230Alt+230
231E7ççþAlt+0231Alt+231
232E8èèÞAlt+0232Alt+232
233E9ééÚAlt+0233Alt+233
234EAêêÛAlt+0234Alt+234
235EBëëÙAlt+0235Alt+235
236ECììýAlt+0236Alt+236
237EDííÝAlt+0237Alt+237
238EEîî¯Alt+0238Alt+238
239EFïï´Alt+0239Alt+239
240F0ðð­Alt+0240Alt+240
241F1ññ±Alt+0241Alt+241
242F2òòAlt+0242Alt+242
243F3óó¾Alt+0243Alt+243
244F4ôôAlt+0244Alt+244
245F5õõ§Alt+0245Alt+245
246F6öö÷Alt+0246Alt+246
247F7÷÷¸Alt+0247Alt+247
248F8øø°Alt+0248Alt+248
249F9ùù¨Alt+0249Alt+249
250FAúú·Alt+0250Alt+250
251FBûû¹Alt+0251Alt+251
252FCüü³Alt+0252Alt+252
253FDýý²Alt+0253Alt+253
254FEþþAlt+0254Alt+254
255FFÿÿ 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.

Funciona nos dois sentidos: se o texto já estiver certo, a ferramenta mostra como ele apareceria se fosse lido pela tabela errada.

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. 💙