ASCII Estendido (Extended ASCII): Ampliando o Conjunto de Caracteres

Tabela ASCII Estendido (Extended ASCII table)

O ASCII Estendido, também conhecido como Extended ASCII, é uma extensão do conjunto de caracteres ASCII (American Standard Code for Information Interchange), que atribui valores aos caracteres a partir dos decimais 128 até 255 (hexadecimais 80 a FF). Essa extensão acrescenta mais 128 caracteres ao conjunto original, introduzindo letras acentuadas, caracteres gráficos e símbolos especiais. Neste artigo, exploraremos detalhadamente o conceito de ASCII Estendido, suas características, variações entre sistemas e aplicações, além de exemplos práticos de uso.

Introdução ao ASCII Estendido

O conjunto de caracteres ASCII original consiste em 128 caracteres, cobrindo letras maiúsculas e minúsculas, números, símbolos de pontuação e caracteres de controle. O ASCII Estendido foi desenvolvido para acomodar as necessidades de diferentes idiomas e aplicações que requeriam caracteres especiais, acentuados e gráficos. Essa extensão permitiu que mais caracteres fossem representados de forma padronizada em sistemas de computador.

O que é ASCII Estendido?

ASCII estendido é um conjunto de caracteres que amplia o padrão ASCII original, que consiste em 128 caracteres codificados em 7 bits. O ASCII estendido usa 8 bits para codificar 256 caracteres, sendo os 128 primeiros idênticos ao ASCII original e os 128 restantes variáveis de acordo com o sistema, a fonte ou o programa utilizado. O ASCII estendido permite representar letras acentuadas, caracteres gráficos e símbolos especiais que não estão presentes no ASCII original, como por exemplo: á, ã, ç, é, ê, ô, õ, ü, ñ, ß, £, ¥, ¢, ©, ®, etc.

O ASCII estendido surgiu como uma forma de padronizar a codificação de caracteres em diferentes plataformas e países, mas não conseguiu evitar a existência de diversas variações e incompatibilidades. Algumas das variações mais conhecidas do ASCII estendido são: ISO-8859-1 (ou Latin-1), que cobre a maioria das línguas ocidentais; ISO-8859-15 (ou Latin-9), que é uma atualização do Latin-1 com alguns caracteres adicionais; CP437 (ou IBM PC), que foi o primeiro conjunto de caracteres usado nos computadores IBM PC; CP850 (ou DOS Latin-1), que substituiu o CP437 nos sistemas operacionais DOS; CP1252 (ou Windows Latin-1), que é usado nos sistemas operacionais Windows; e UTF-8, que é uma forma de codificar o padrão Unicode usando sequências de bytes variáveis.

Características do ASCII Estendido

O ASCII Estendido oferece as seguintes características distintas:

  1. Mais Caracteres: Adiciona 128 novos caracteres ao conjunto ASCII, incluindo letras acentuadas, letras de outros idiomas, símbolos matemáticos, setas, caracteres gráficos e muito mais.

  2. Variação por Sistema: Embora o ASCII Estendido atribua códigos específicos a esses caracteres, a representação real deles pode variar entre sistemas e aplicativos. Isso ocorre porque diferentes sistemas operacionais, programas, fontes e codificações podem interpretar esses códigos de maneira ligeiramente diferente.

  3. Apoio a Idiomas Multilíngues: O ASCII Estendido tornou possível a representação de caracteres de vários idiomas, tornando-o um padrão crucial para sistemas multilíngues.

Variações entre Computadores e Programas

Uma das complexidades do ASCII Estendido é que a interpretação dos códigos varia entre computadores e programas. Por exemplo, o código estendido 128 (80 em hexadecimal) representa o caractere Ç em algumas codificações, mas em outras, pode ser um caractere completamente diferente. Isso pode levar a problemas de exibição quando um documento é transferido entre sistemas com diferentes interpretações do ASCII Estendido.

Aplicações Práticas do ASCII Estendido

O ASCII Estendido é amplamente utilizado em uma variedade de contextos, incluindo:

1. Representação de Idiomas

Permite a representação de caracteres de idiomas que não são cobertos pelo conjunto ASCII padrão. Isso inclui letras acentuadas em idiomas como o português, espanhol e francês.

2. Desenvolvimento de Software

É usado em programação para criar interfaces de usuário, formatar texto e fornecer saídas gráficas em terminais de texto.

3. Impressão e Tipografia

Facilita a impressão de documentos que contenham caracteres estendidos, como letras acentuadas, moedas e símbolos especiais.

4. Comunicação Multilíngue

Permite a troca de informações entre sistemas e dispositivos que utilizam idiomas diferentes.

Exemplos Práticos de Uso

Aqui estão alguns exemplos práticos de uso do ASCII Estendido:

  1. No Desenvolvimento Web: É comum usar códigos ASCII Estendido para exibir caracteres especiais, como setas, símbolos matemáticos e ícones em páginas da web.

  2. Em Planilhas Eletrônicas: Em programas de planilhas, os caracteres estendidos são úteis para criar tabelas e gráficos que contenham símbolos especiais.

  3. Na Programação: Desenvolvedores de software podem usar caracteres estendidos para melhorar a formatação de mensagens, saídas de console e interfaces de usuário.

  4. Em Documentos Impressos: Para imprimir documentos que incluam caracteres acentuados ou símbolos especiais, é necessário suporte ao ASCII Estendido.

Desafios do ASCII Estendido

O principal desafio associado ao ASCII Estendido é a variação na interpretação dos códigos entre sistemas e programas. Isso pode resultar em problemas de compatibilidade e exibição, especialmente ao compartilhar documentos entre dispositivos com configurações diferentes.

Além disso, com a evolução da tecnologia, surgiram outras codificações de caracteres, como UTF-8 e UTF-16, que oferecem suporte a um conjunto muito mais amplo de caracteres, tornando o ASCII Estendido menos relevante em algumas situações.

Tabela ASCII completa:

Dec
Binário
Hex Referência
0

00000000
00
Null – NUL
1
00000001
01
Start of Heading
– SOH
2
00000010
02
Start of Text – STX
3
00000011
03
End of Text – ETX
4
00000100
04
End of Transmission – EOT
5
00000101
05
Enquiry – ENQ
6
00000110
06
Acknowledge – ACK
7
00000111
07
Bell, rings terminal bell –
BEL
8
00001000
08
BackSpace – BS
9
00001001
09
Horizontal Tab – HT
10
00001010
0A
Line Feed – LF
11
00001011
0B
Vertical Tab – VT
12
00001100
0C
Form Feed – FF
13
00001101
0D
Enter – CR
14
00001110
0E
Shift-Out – SO
15
00001111
0F
Shift-In – SI
16
00010000
10
Data Link Escape – DLE
17
00010001
11
Device Control 1 – D1
18
00010010
12
Device Control 2 – D2
19
00010011
13
Device Control 3 – D3
20
00010100
14
Device Control 4 – D4
21
00010101
15
Negative Acknowledge – NAK
22
00010110
16
Synchronous idle – SYN
23
00010111
17
End Transmission Block – ETB
24
00011000
18
Cancel line – CAN
25
00011001
19
End of Medium – EM
26
00011010
1A
Substitute – SUB
27
00011011
1B
Escape – ESC
28
00011100
1C
File Separator – FS
29
00011101
1D
Group Separator – GS
30
00011110
1E
Record Separator – RS
31
00011111
1F
Unit Separator – US
32
00100000
20
Space – SPC
33
00100001
21
!
34
00100010
22
35
00100011
23
#
36
00100100
24
$
37
00100101
25
%
38
00100110
26
&
39
00100111
27
40
00101000
28
(
41
00101001
29
)
42
00101010
2A
*
43
00101011
2B
+
44
00101100
2C
,
45
00101101
2D
46
00101110
2E
.
47
00101111
2F
/
48
00110000
30
0
49
00110001
31
1
50
00110010
32
2
51
00110011
33
3
52
00110100
34
4
53
00110101
35
5
54
00110110
36
6
55
00110111
37
7
56
00111000
38
8
57
00111001
39
9
58
00111010
3A
:
59
00111011
3B
;
60
00111100
3C
<
61
00111101
3D
=
62
00111110
3E
>
63
00111111
3F
?
64
01000000
40
@
65
01000001
41
A
66
01000010
42
B
67
01000011
43
C
68
01000100
44
D
69
01000101
45
E
70
01000110
46
F
71
01000111
47
G
72
01001000
48
H
73
01001001
49
I
74
01001010
4A
J
75
01001011
4B
K
76
01001100
4C
L
77
01001101
4D
M
78
01001110
4E
N
79
01001111
4F
O
80
01010000
50
P
81
01010001
51
Q
82
01010010
52
R
83
01010011
53
S
84
01010100
54
T
85
01010101
55
U
86
01010110
56
V
87
01010111
57
W
88
01011000
58
X
89
01011001
59
Y
90
01011010
5A
Z
91
01011011
5B
[
92
01011100
5C
\
93
01011101
5D
]
94
01011110
5E
^
95
01011111
5F
_
96
01100000
60
`
97
01100001
61
a
98
01100010
62
b
99
01100011
63
c
100
01100100
64
d
101
01100101
65
e
102
01100110
66
f
103
01100111
67
g
104
01101000
68
h
105
01101001
69
i
106
01101010
6A
j
107
01101011
6B
k
108
01101100
6C
l
109
01101101
6D
m
110
01101110
6E
n
111
01101111
6F
o
112
01110000
70
p
113
01110001
71
q
114
01110010
72
r
115
01110011
73
s
116
01110100
74
t
117
01110101
75
u
118
01110110
76
v
119
01110111
77
w
120
01111000
78
x
121
01111001
79
y
122
01111010
7A
z
123
01111011
7B
{
124
01111100
7C
|
125
01111101
7D
}
126
01111110
7E
~
127
01111111
7F
Delete
128
10000000
80
Ç
129
10000001
81
ü
130
10000010
82
é
131
10000011
83
â
132
10000100
84
ä
133
10000101
85
à
134
10000110
86
å
135
10000111
87
ç
136
10001000
88
ê
137
10001001
89
ë
138
10001010
8A
è
139
10001011
8B
ï
140
10001100
8C
î
141
10001101
8D
ì
142
10001110
8E
Ä
143
10001111
8F
Å
144
10010000
90
É
145
10010001
91
æ
146
10010010
92
Æ
147
10010011
93
ô
148
10010100
94
ö
149
10010101
95
ò
150
10010110
96
û
151
10010111
97
ù
152
10011000
98
ÿ
153
10011001
99
Ö
154
10011010
9A
Ü
155
10011011
9B
ø
156
10011100
9C
£
157
10011101
9D
Ø
158
10011110
9E
×
159
10011111
9F
ƒ
160
10100000
A0
á
161
10100001
A1
ù
162
10100010
A2
ó
163
10100011
A3
ú
164
10100100
A4
ñ
165
10100101
A5
Ñ
166
10100110
A6
ª
167
10100111
A7
º
168
10101000
A8
¿
169
10101001
A9
®
170
10101010
AA
¬
171
10101011
AB
½
172
10101100
AC
¼
173
10101101
AD
¡
174
10101110
AE
«
175
10101111
AF
»
176
10110000
B0
?
177
10110001
B1
?
178
10110010
B2
?
179
10110011
B3
?
180
10110100
B4
?
181
10110101
B5
Á
182
10110110
B6
Â
183
10110111
B7
À
184
10111000
B8
©
185
10111001
B9
?
186
10111010
BA
?
187
10111011
BB
?
188
10111100
BC
?
189
10111101
BD
¢
190
10111110
BE
¥
191
10111111
BF
?
192
11000000
C0
?
193
11000001
C1
?
194
11000010
C2
?
195
11000011
C3
?
196
11000100
C4
?
197
11000101
C5
?
198
11000110
C6
ã
199
11000111
C7
Ã
200
11001000
C8
?
201
11001001
C9
?
202
11001010
CA
?
203
11001011
CB
?
204
11001100
CC
?
205
11001101
CD
?
206
11001110
CE
?
207
11001111
CF
¤
208
11010000
D0
ð
209
11010001
D1
Ð
210
11010010
D2
Ê
211
11010011
D3
Ë
212
11010100
D4
È
213
11010101
D5
?
214
11010110
D6
Í
215
11010111
D7
Î
216
11011000
D8
Ï
217
11011001
D9
?
218
11011010
DA
?
219
11011011
DB
?
220
11011100
DC
?
221
11011101
DD
¦
222
11011110
DE
Ì
223
11011111
DF
?
224
11100000
E0
Ó
225
11100001
E1
ß
226
11100010
E2
Ô
227
11100011
E3
Ò
228
11100100
E4
õ
229
11100101
E5
Õ
230
11100110
E6
µ
231
11100111
E7
þ
232
11101000
E8
Þ
233
11101001
E9
Ú
234
11101010
EA
Û
235
11101011
EB
Ù
236
11101100
EC
ý
237
11101101
ED
Ý
238
11101110
EE
¯
239
11101111
EF
´
240
11110000
F0
­­
241
11110001
F1
±
242
11110010
F2
?
243
11110011
F3
¾
244
11110100
F4
245
11110101
F5
§
246
11110110
F6
÷
247
11110111
F7
¸
248
11111000
F8
°
249
11111001
F9
¨
250
11111010
FA
·
251
11111011
FB
¹
252
11111100
FC
³
253
11111101
FD
²
254
11111110
FE
?
255
11111111
FF
 

 

Conclusão

O ASCII Estendido desempenhou um papel fundamental na padronização da representação de caracteres especiais, acentuados e gráficos em sistemas de computador. Embora tenha suas limitações e desafios de compatibilidade, continua a ser relevante em muitas aplicações, especialmente na programação, na tipografia e na comunicação multilíngue. Entender o funcionamento e as variações do ASCII Estendido é essencial para lidar com documentos e sistemas que fazem uso desse conjunto de caracteres, garantindo uma interação eficaz em ambientes multilíngues e multiculturais.