Tabela ASCII
O que é o ASCII
Os computadores operam executando cálculos no sistema de numeração binário. Porém, como sabemos, os computadores permitem a entrada de dados na forma de texto, com letras, números decimais e símbolos, além de permitir o armazenamento desses dados.
Neste artigo vamos falar a respeito da forma como os computadores representam esses caracteres utilizando números no sistema binário de numeração.
Histórico do padrão ASCII
Em outubro de 1960, o Instituto Americano de Padrões Nacionais (ANSI – American National Standards Institute), que na época se chamava American Standards Association (ASA), começou a trabalhar em um padrão para representação de caracteres, batizado de ASCII.
Esse padrão utilizava um esquema de codificação de caracteres (representação numérica) que tinha suas raízes em códigos telegráficos de 5 bits inventados por Émile Baudot. Foi definido um código numérico de 7 bits para o ASCII na época.
Com 7 bits podemos representar 27 = 128 caracteres, mais do que suficiente para representar letras e símbolos em inglês americano. Alguns dos códigos foram utilizados para representar caracteres de controle reservados, como por exemplo caracteres que permitiam avançar uma linha, excluir uma letra, ou até mesmo tocar um bip em alguns equipamentos Teletype da época.
A primeira versão do ASCII foi publicada em 1963, e então revisada em 1967. Em março de 1968, o presidente estadunidense Lyndon B. Johnson ordenou que todos os computadores do governo federal dos Estados Unidos deveriam suportar o padrão ASCII. Assim, o padrão se tornou parte da história dos computadores, e desde então é utilizado para representação de caracteres.
Tabela ASCII
ASCII significa “American Standard Code for Information Interchange” (Código Padrão Americano para Intercâmbio de Informações), e consiste em uma tabela de códigos (criada na década de 60) utilizada pelos computadores para representar caracteres no formato numérico (binário), que é o formato padrão utilizado para armazenamento e processamento dos dados.
Desta forma, cada caractere presente em um teclado, e mais um conjunto de outros caracteres, como letras “a”, “r”, números “6′, “9”, ou ainda símbolos, como “%”, “&”, “Ö”, entre outros, podem ser representados por um conjunto de oito bits (um byte) na memória do computador.
Alguns caracteres não-imprimíveis também são representados na tabela ASCII, como por exemplo as teclas TAB, ESC e Backspace.
Abaixo temos a tabela de caracteres em ASCII original, incluindo os valores numéricos de cada caractere em decimal, binário, octal e hexadecimal.
Note que letras maiúsculas e minúsculas são consideradas caracteres diferentes entre si, cada uma com seu próprio código ASCII. Além disso, podemos perceber que a tabela original ASCII utiliza sete bits para representar os caracteres, sendo que o oitavo bit (à esquerda, MSB) é sempre zero.
Códigos ASCII
Decimal | Octal | Hexadecimal | Binário | Caractere |
0 | 000 | 00 | 00000000 | NUL |
1 | 001 | 01 | 00000001 | SOH |
2 | 002 | 02 | 00000010 | STX |
3 | 003 | 03 | 00000011 | ETX |
4 | 004 | 04 | 00000100 | EOT |
5 | 005 | 05 | 00000101 | ENQ |
6 | 006 | 06 | 00000110 | ACK |
7 | 007 | 07 | 00000111 | BEL |
8 | 010 | 08 | 00001000 | BS |
9 | 011 | 09 | 00001001 | TAB |
10 | 012 | 0A | 00001010 | LF |
11 | 013 | 0B | 00001011 | VT |
12 | 014 | 0C | 00001100 | FF |
13 | 015 | 0D | 00001101 | CR |
14 | 016 | 0E | 00001110 | SO |
15 | 017 | 0F | 00001111 | SI |
16 | 020 | 10 | 00010000 | DLE |
17 | 021 | 11 | 00010001 | DC1 |
18 | 022 | 12 | 00010010 | DC2 |
19 | 023 | 13 | 00010011 | DC3 |
20 | 024 | 14 | 00010100 | DC4 |
21 | 025 | 15 | 00010101 | NAK |
22 | 026 | 16 | 00010110 | SYN |
23 | 027 | 17 | 00010111 | ETB |
24 | 030 | 18 | 00011000 | CAN |
25 | 031 | 19 | 00011001 | EM |
26 | 032 | 1A | 00011010 | SUB |
27 | 033 | 1B | 00011011 | ESC |
28 | 034 | 1C | 00011100 | FS |
29 | 035 | 1D | 00011101 | GS |
30 | 036 | 1E | 00011110 | RS |
31 | 037 | 1F | 00011111 | US |
32 | 040 | 20 | 00100000 | Espaço |
33 | 041 | 21 | 00100001 | ! |
34 | 042 | 22 | 00100010 | “ |
35 | 043 | 23 | 00100011 | # |
36 | 044 | 24 | 00100100 | $ |
37 | 045 | 25 | 00100101 | % |
38 | 046 | 26 | 00100110 | & |
39 | 047 | 27 | 00100111 | ‘ |
40 | 050 | 28 | 00101000 | ( |
41 | 051 | 29 | 00101001 | ) |
42 | 052 | 2A | 00101010 | * |
43 | 053 | 2B | 00101011 | + |
44 | 054 | 2C | 00101100 | , |
45 | 055 | 2D | 00101101 | – |
46 | 056 | 2E | 00101110 | . |
47 | 057 | 2F | 00101111 | / |
48 | 060 | 30 | 00110000 | 0 |
49 | 061 | 31 | 00110001 | 1 |
50 | 062 | 32 | 00110010 | 2 |
51 | 063 | 33 | 00110011 | 3 |
52 | 064 | 34 | 00110100 | 4 |
53 | 065 | 35 | 00110101 | 5 |
54 | 066 | 36 | 00110110 | 6 |
55 | 067 | 37 | 00110111 | 7 |
56 | 070 | 38 | 00111000 | 8 |
57 | 071 | 39 | 00111001 | 9 |
58 | 072 | 3A | 00111010 | : |
59 | 073 | 3B | 00111011 | ; |
60 | 074 | 3C | 00111100 | < |
61 | 075 | 3D | 00111101 | = |
62 | 076 | 3E | 00111110 | > |
63 | 077 | 3F | 00111111 | ? |
64 | 100 | 40 | 01000000 | @ |
65 | 101 | 41 | 01000001 | A |
66 | 102 | 42 | 01000010 | B |
67 | 103 | 43 | 01000011 | C |
68 | 104 | 44 | 01000100 | D |
69 | 105 | 45 | 01000101 | E |
70 | 106 | 46 | 01000110 | F |
71 | 107 | 47 | 01000111 | G |
72 | 110 | 48 | 01001000 | H |
73 | 111 | 49 | 01001001 | I |
74 | 112 | 4A | 01001010 | J |
75 | 113 | 4B | 01001011 | K |
76 | 114 | 4C | 01001100 | L |
77 | 115 | 4D | 01001101 | M |
78 | 116 | 4E | 01001110 | N |
79 | 117 | 4F | 01001111 | O |
80 | 120 | 50 | 01010000 | P |
81 | 121 | 51 | 01010001 | Q |
82 | 122 | 52 | 01010010 | R |
83 | 123 | 53 | 01010011 | S |
84 | 124 | 54 | 01010100 | T |
85 | 125 | 55 | 01010101 | U |
86 | 126 | 56 | 01010110 | V |
87 | 127 | 57 | 01010111 | W |
88 | 130 | 58 | 01011000 | X |
89 | 131 | 59 | 01011001 | Y |
90 | 132 | 5A | 010110010 | Z |
91 | 133 | 5B | 01011011 | [ |
92 | 134 | 5C | 01011100 | \ |
93 | 135 | 5D | 01011101 | ] |
94 | 136 | 5E | 01011110 | ^ |
95 | 137 | 5F | 01011111 | _ |
96 | 140 | 60 | 01100000 | ` |
97 | 141 | 61 | 01100001 | a |
98 | 142 | 62 | 01100010 | b |
99 | 143 | 63 | 01100011 | c |
100 | 144 | 64 | 01100100 | d |
101 | 145 | 65 | 01100101 | e |
102 | 146 | 66 | 01100110 | f |
103 | 147 | 67 | 01100111 | g |
104 | 150 | 68 | 01101000 | h |
105 | 151 | 69 | 01101001 | i |
106 | 152 | 6A | 01101010 | j |
107 | 153 | 6B | 01101011 | k |
108 | 154 | 6C | 01101100 | l |
109 | 155 | 6D | 01101101 | m |
110 | 156 | 6E | 01101110 | n |
111 | 157 | 6F | 01101111 | o |
112 | 160 | 70 | 01110000 | p |
113 | 161 | 71 | 01110001 | q |
114 | 162 | 72 | 01110010 | r |
115 | 163 | 73 | 01110011 | s |
116 | 164 | 74 | 01110100 | t |
117 | 165 | 75 | 01110101 | u |
118 | 166 | 76 | 01110110 | v |
119 | 167 | 77 | 01110111 | w |
120 | 170 | 78 | 01111000 | x |
121 | 171 | 79 | 01111001 | y |
122 | 172 | 7A | 01111010 | z |
123 | 173 | 7B | 01111011 | { |
124 | 174 | 7C | 01111100 | | |
125 | 175 | 7D | 01111101 | } |
126 | 176 | 7E | 01111110 | ~ |
127 | 177 | 7F | 01111111 | DEL |
A seguir temos a tabela de códigos ASCII estendidos, que utiliza oito bits para representar os caracteres e contém mais 127 caracteres que incluem caracteres especiais, símbolos e letras acentuadas em vários alfabetos distintos.
Note que os códigos ASCII estendidos de seu computador podem diferir da tabela a seguir, pois eles dependem do conjunto de caracteres empregado pelo sistema operacional. O conjunto mais popular é um conjunto de caracteres denominado ISO 8859-1, também conhecido como ISO Latin 1, que contém caracteres presentes na maioria dos idiomas europeus ocidentais (incluindo o português).
Códigos ASCII estendidos
Decimal | Octal | Hexadecimal | Binário | Caractere |
128 | 200 | 80 | 10000000 | Ç |
129 | 201 | 81 | 10000001 | ü |
130 | 202 | 82 | 10000010 | é |
131 | 203 | 83 | 10000011 | â |
132 | 204 | 84 | 10000100 | ä |
133 | 205 | 85 | 10000101 | à |
134 | 206 | 86 | 10000110 | å |
135 | 207 | 87 | 10000111 | ç |
136 | 210 | 88 | 10001000 | ê |
137 | 211 | 89 | 10001001 | ë |
138 | 212 | 8A | 10001010 | è |
139 | 213 | 8B | 10001011 | ï |
140 | 214 | 8C | 10001100 | î |
141 | 215 | 8D | 10001101 | ì |
142 | 216 | 8E | 10001110 | Ä |
143 | 217 | 8F | 10001111 | Å |
144 | 220 | 90 | 10010000 | É |
145 | 221 | 91 | 10010001 | æ |
146 | 222 | 92 | 10010010 | Æ |
147 | 223 | 93 | 10010011 | ô |
148 | 224 | 94 | 10010100 | ö |
149 | 225 | 95 | 10010101 | ò |
150 | 226 | 96 | 10010110 | û |
151 | 227 | 97 | 10010111 | ù |
152 | 230 | 98 | 10011000 | ÿ |
153 | 231 | 99 | 10011001 | Ö |
154 | 232 | 9A | 10011010 | Ü |
155 | 233 | 9B | 10011011 | ø |
156 | 234 | 9C | 10011100 | £ |
157 | 235 | 9D | 10011101 | Ø |
158 | 236 | 9E | 10011110 | × |
159 | 237 | 9F | 10011111 | ƒ |
160 | 240 | A0 | 10100000 | á |
161 | 241 | A1 | 10100001 | í |
162 | 242 | A2 | 10100010 | ó |
163 | 243 | A3 | 10100011 | ú |
164 | 244 | A4 | 10100100 | ñ |
165 | 245 | A5 | 10100101 | Ñ |
166 | 246 | A6 | 10100110 | ª |
167 | 247 | A7 | 10100111 | º |
168 | 250 | A8 | 10101000 | ¿ |
169 | 251 | A9 | 10101001 | ® |
170 | 252 | AA | 10101010 | ¬ |
171 | 253 | AB | 10101011 | ½ |
172 | 254 | AC | 10101100 | ¼ |
173 | 255 | AD | 10101101 | ¡ |
174 | 256 | AE | 10101110 | « |
175 | 257 | AF | 10101111 | » |
176 | 260 | B0 | 10110000 | ░ |
177 | 261 | B1 | 10110001 | ▒ |
178 | 262 | B2 | 10110010 | ▓ |
179 | 263 | B3 | 10110011 | │ |
180 | 264 | B4 | 10110100 | ┤ |
181 | 265 | B5 | 10110101 | Á |
182 | 266 | B6 | 10110110 | Â |
183 | 267 | B7 | 10110111 | À |
184 | 270 | B8 | 10111000 | © |
185 | 271 | B9 | 10111001 | ╣ |
186 | 272 | BA | 10111010 | ║ |
187 | 273 | BB | 10111011 | ╗ |
188 | 274 | BC | 10111100 | ╝ |
189 | 275 | BD | 10111101 | ¢ |
190 | 276 | BE | 10111110 | ¥ |
191 | 277 | BF | 10111111 | ┐ |
192 | 300 | C0 | 11000000 | └ |
193 | 301 | C1 | 11000001 | ┴ |
194 | 302 | C2 | 11000010 | ┬ |
195 | 303 | C3 | 11000011 | ├ |
196 | 304 | C4 | 11000100 | ─ |
197 | 305 | C5 | 11000101 | ┼ |
198 | 306 | C6 | 11000110 | ã |
199 | 307 | C7 | 11000111 | Ã |
200 | 310 | C8 | 11001000 | ╚ |
201 | 311 | C9 | 11001001 | ╔ |
202 | 312 | CA | 11001010 | ╩ |
203 | 313 | CB | 11001011 | ╦ |
204 | 314 | CC | 11001100 | ╠ |
205 | 315 | CD | 11001101 | ═ |
206 | 316 | CE | 11001110 | ╬ |
207 | 317 | CF | 11001111 | ¤ |
208 | 320 | D0 | 11010000 | ð |
209 | 321 | D1 | 11010001 | Ð |
210 | 322 | D2 | 11010010 | Ê |
211 | 323 | D3 | 11010011 | Ë |
212 | 324 | D4 | 11010100 | È |
213 | 325 | D5 | 11010101 | ı |
214 | 326 | D6 | 11010110 | Í |
215 | 327 | D7 | 11010111 | Î |
216 | 330 | D8 | 11011000 | Ï |
217 | 331 | D9 | 11011001 | ┘ |
218 | 332 | DA | 11011010 | ┌ |
219 | 333 | DB | 11011011 | █ |
220 | 334 | DC | 11011100 | ▄ |
221 | 335 | DD | 11011101 | ¦ |
222 | 336 | DE | 11011110 | Ì |
223 | 337 | DF | 11011111 | ▀ |
224 | 340 | E0 | 11100000 | Ó |
225 | 341 | E1 | 11100001 | ß |
226 | 342 | E2 | 11100010 | Ô |
227 | 343 | E3 | 11100011 | Ò |
228 | 344 | E4 | 11100100 | õ |
229 | 345 | E5 | 11100101 | Õ |
230 | 346 | E6 | 11100110 | µ |
231 | 347 | E7 | 11100111 | þ |
232 | 350 | E8 | 11101000 | Þ |
233 | 351 | E9 | 11101001 | Ú |
234 | 352 | EA | 11101010 | Û |
235 | 353 | EB | 11101011 | Ù |
236 | 354 | EC | 11101100 | ý |
237 | 355 | ED | 11101101 | Ý |
238 | 356 | EE | 11101110 | ¯ |
239 | 357 | EF | 11101111 | ´ |
240 | 360 | F0 | 11110000 | |
241 | 361 | F1 | 11110001 | ± |
242 | 362 | F2 | 11110010 | ‗ |
243 | 363 | F3 | 11110011 | ¾ |
244 | 364 | F4 | 11110100 | ¶ |
245 | 365 | F5 | 11110101 | § |
246 | 366 | F6 | 11110110 | ÷ |
247 | 367 | F7 | 11110111 | ¸ |
248 | 370 | F8 | 11111000 | ° |
249 | 371 | F9 | 11111001 | ¨ |
250 | 372 | FA | 11111010 | · |
251 | 373 | FB | 11111011 | ¹ |
252 | 374 | FC | 11111100 | ³ |
253 | 375 | FD | 11111101 | ² |
254 | 376 | FE | 11111110 | ▀ |
255 | 377 | FF | 11111111 |
Para inserir um desses caracteres especiais em um texto, basta segurar a tecla Alt em seu teclado, e digitar a sequência numérica correspondente ao caractere desejado, em decimal. Assim, se digitarmos Alt + 225 em um editor de textos veremos o caractere alemão ß.
Por exemplo, a sequência de bits
0100001010100010011100110110111101101110010101000111001001100101011010 010110111001100001011011010110010101101110011101000110111101110011 |
representa em ASCII a frase “Bóson Treinamentos”.
Link interessante: Arte usando ASCII
Escreva um comentário