O código ASCII

A codificação das informações

O morse foi a primeira codificação que permitiu a comunicação remota. Foi Samuel F. B. Morse que o criou em 1844. Este código é composto de pontos e travessões (código binário, de certa forma). Ele permitiu efetuar comunicações muito mais rápidas do que com o sistema de correio da época nos Estados Unidos, o Pony Express. O intérprete era o homem, por isso era preciso um bom conhecimento do código.

Vários códigos foram inventados posteriormente, incluindo o código Baudot, chamado de código Murray pelos ingleses. Em 10 de março de 1876, o Alexander Graham Bell criou o primeiro telefone, invenção revolucionária que permitiu fazer circular a informação vocal através de linhas metálicas. Estas linhas permitiram o desenvolvimento de máquinas para codificar e decodificar os caracteres pelo código Baudot. Nos anos 60, o código ASCII (American Standard Code for Information Interchange) foi adotado como código padrão. Ele permite a codificação de caracteres em 8 bits, dando a possibilidade de formação de 256 caracteres.

O que é o código ASCII

A memória do computador conserva todos os dados sob a forma digital. Não existe um método para armazenar diretamente os caracteres. Cada caractere possui o seu equivalente em código numérico, é o ASCII. O código ASCII básico representava os caracteres em 7 bits (ou seja, 128 caracteres possíveis, de 0 a 127). Os códigos 0 a 31 não são caracteres são chamados de caracteres de controle porque permitem fazer ações como carriage return (CR - retorno do carro em português) e bip sonoro (BEL), os Os códigos 65 a 90 representam as maiúsculas e os Os códigos 97 a 122 representam as minúsculas. Basta alterar o 6° bit para passar das maiúsculas para as minúsculas, isto é, acrescentar 32 ao código ASCII em base decimal.

Tabela dos caracteres ASCII

Caractere Código ASCII Código hexadecimal
NUL (Nulo) 0 00
SOH (Start of heading) 1 01
STX (Start of text) 2 02
ETX (End of text) 3 03
EOT (End of transmission) 4 04
ENQ (Enquiry) 5 05
ACK (Acknowledge) 6 06
BEL (Bell) 7 07
BS (Backspace) 8 08
TAB (Tabulação horizontal) 9 09
LF (Line Feed, salto de linha) 10 0A
VT (Vertical tabulation, tabulação vertical) 11 0B
FF (Form feed) 12 0C
CR (Carriage return, retorno do carro) 13 0D
SO (Shift out) 14 0E
SI (Shift in) 15 0F
DLE (Data link escape) 16 10
DC1 (Device control 1) 17 11
DC2 (Device control 2) 18 12
DC3 (Device control 3) 19 13
DC4 (Device control 4) 20 14
NAK (Negative acknowledgement) 21 15
SYN (Synchronous idle) 22 16
ETB (End of transmission block, fim de bloco de transmissão) 23 17
CAN (Cancel, cancelar) 24 18
EM (End of medium, fim do meio) 25 19
SUB (Substitute, substituto) 26 1A
ESC (Escape, cararctere ESC) 27 1B
FS (File separator, separador de arquivo) 28 1C
GS (Group separator, separador de grupo) 29 1D
RS (Record separator, separador de registro) 30 1E
US (Unit separator, separador de registro) 31 1F
SP (Space, espaço) 32 20
! 33 21
" 34 22
# 35 23
$ 36 24
% 37 25
& 38 26
' 39 27
( 40 28
) 41 29
* 42 2A
+ 43 2B
, 44 2C
- 45 2D
. 46 2E
/ 47 2F
0 48 30
1 49 31
2 50 32
3 51 33
4 52 34
5 53 35
6 54 36
7 55 37
8 56 38
9 57 39
: 58 3A
; 59 3B
< 60 3C
= 61 3D
> 62 3E
? 63 3F
@ 64 40
A 65 41
B 66 42
C 67 43
D 68 44
E 69 45
F 70 46
G 71 47
H 72 48
I 73 49
J 74 4A
K 75 4B
L 76 4C
M 77 4D
N 78 4E
O 79 4F
P 80 50
Q 81 51
R 82 52
S 83 53
T 84 54
U 85 55
V 86 56
W 87 57
X 88 58
Y 89 59
Z 90 5A
[ 91 5B
92 5C
] 93 5D
^ 94 5E
_ 95 5F
' 96 60
a 97 61
b 98 62
c 99 63
d 100 64
e 101 65
f 102 66
g 103 67
h 104 68
i 105 69
j 106 6A
k 107 6B
l 108 6C
m 109 6D
n 110 6E
o 111 6F
p 112 70
q 113 71
r 114 72
s 115 73
t 116 74
u 117 75
v 118 76
w 119 77
x 120 78
y 121 79
z 122 7A
{ 123 7B
124 7C
} 125 7D
~ 126 7E
Toque de supressão 127 7F

Tabela de caracteres ASCII estendido

O código ASCII foi concebido para a língua inglesa, por isso ele não contém caracteres acentuados, nem caracteres específicos de outro idioma. Para codificar este tipo de caractere é necessário recorrer a outro código. O código ASCII foi então estendido para 8 bits (um byte) para poder codificar mais caracteres (fala-se, aliás, de código ASCII estendido). Este código atribui os valores de 0 a 255 às letras maiúsculas e minúsculas, aos números, às marcas de pontuação e aos outros símbolos (caracteres acentuados no caso do código iso-latin1). Ele não é único e depende muito da plataforma utilizada. Os dois jogos de caracteres ASCII estendidos mais frequentemente utilizados são o código ASCII estendido OEM, ou seja, aquele que equipava as primeiras máquinas de tipo PC da IBM:

ASCII estendido OEM - OEM Extended ASCII
Também há o código ASCII estendido ANSI, utilizado pelos sistemas operacionais recentes:

Código estendido ASCII ANSI

O código EBCDIC

O código EBCDIC (Extended Binary - Coded Decimal Interchange Code), desenvolvido pela IBM, permite codificar caracteres em 8 bits. Embora muito utilizado nas máquinas IBM, não teve o sucesso do código ASCII.

Código Unicode

O sistema Unicode é um sistema de codificação dos caracteres em 16 bits inventado em 1991. O sistema Unicode permite representar qualquer caractere por um código em 16 bits, independentemente de qualquer sistema operacional ou linguagem de programação. Ele reúne, assim, quase todos os alfabetos existentes (árabe, armênio, cirílico, grego, hebreu, latino, etc.) e é compatível com o código ASCII. O conjunto dos códigos Unicode está disponível no site http://www.unicode.org/charts/.

Veja também
Este documento, intitulado 'O código ASCII', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.

Assine nossa newsletter!

Receba toda semana o melhor conteúdo

Assine nossa newsletter!