O que é o código ASCII – explicado de forma simples

O que é o código ASCII?

O código ASCII(American Standard Code for Information Interchange) é um sistema normalizado de codificação de caracteres que foi desenvolvido nos anos 60 para normalizar a comunicação entre computadores e outros dispositivos electrónicos. Ao atribuir um valor numérico único a cada carácter, símbolo e comando de controlo, o código ASCII permite o processamento e a representação eficientes de dados de texto em sistemas digitais. A pergunta “O que é o código ASCII?” pode, portanto, ser respondida como a base da comunicação digital de texto.

O que é o código ASCII

A história do código ASCII

O desenvolvimento do código ASCII começou em 1963 pelo American National Standards Institute (ANSI), que reconheceu a necessidade de criar uma codificação universal para os caracteres. O código foi originalmente concebido para a telegrafia e mais tarde adaptado aos requisitos da tecnologia informática. A codificação de caracteres define 128 caracteres, constituídos por 33 caracteres não imprimíveis e 95 caracteres imprimíveis, incluindo:

N

Números (0-9)

N

Letras maiúsculas e minúsculas (A-Z, a-z)

N

Caracteres especiais (por exemplo, @, #, $, %)

N

Caracteres de controlo (por exemplo, quebra de linha ou tabulador)

Este código de 7 bits tornou possível a visualização e transferência de dados de texto em diferentes plataformas. O código ASCII foi posteriormente adaptado por extensões como o código ASCII alargado (8 bits) para abranger mais caracteres, como os tremas e os caracteres especiais.

Para além dos códigos hexadecimais, a tabela seguinte apresenta também os números decimais.

Dec Hexadecimal ASCII
0 00 NUL
1 01 SOH
2 02 STX
3 03 ETX
4 04 EOT
5 05 ENQ
6 06 ACK
7 07 BEL
8 08 BS
9 09 HT
10 0A LF
11 0B VT
12 0C FF
13 0D CR
14 0E SO
15 0F SI
16 10 DLE
17 11 DC1
18 12 DC2
19 13 DC3
20 14 DC4
21 15 NAK
22 16 SYN
23 17 ETB
24 18 CAN
25 19 EM
26 1A SUB
27 1B ESC
28 1C FS
29 1D GS
30 1E RS
31 1F US
Dec Hexadecimal ASCII
32 20 SP
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 /
48 30 0
49 31 1
50 32 2
51 33 3
52 34 4
53 35 5
54 36 6
55 37 7
56 38 8
57 39 9
58 3A :
59 3B ;
60 3C <
61 3D =
62 3E >
63 3F ?
Dec Hexadecimal ASCII
64 40 @
65 41 A
66 42 B
67 43 C
68 44 D
69 45 E
70 46 F
71 47 G
72 48 H
73 49 I
74 4A J
75 4B K
76 4C L
77 4D M
78 4E N
79 4F O
80 50 P
81 51 Q
82 52 R
83 53 S
84 54 T
85 55 U
86 56 V
87 57 W
88 58 X
89 59 Y
90 5A Z
91 5B [
92 5C \
93 5D ]
94 5E ^
95 5F _
Dec Hexadecimal ASCII
96 60 `
97 61 a
98 62 b
99 63 c
100 64 d
101 65 e
102 66 f
103 67 g
104 68 h
105 69 i
106 6A j
107 6B k
108 6C l
109 6D m
110 6E n
111 6F o
112 70 p
113 71 q
114 72 r
115 73 s
116 74 t
117 75 u
118 76 v
119 77 w
120 78 x
121 79 y
122 7A z
123 7B {
124 7C |
125 7D }
126 7E ~
127 7F DEL

A extensão para 256 caracteres ocorreu com a introdução de conjuntos de caracteres de 8 bits e computadores de 8 bits na década de 1980. No entanto, esta extensão não foi implementada como parte da norma ASCII oficial. Em vez disso, foram criados os chamados códigos ASCII alargados que utilizavam o oitavo bit (para além do ASCII de 7 bits). As mais proeminentes destas extensões de 8 bits são

  1. ISO 8859-1 (Latin-1):

Esta variante foi introduzida em 1987 e normalizou os 128 caracteres adicionais para as línguas da Europa Ocidental (por exemplo, tremas como ä, ö, ü, ß).

 

  1. Windows-1252:

A Microsoft desenvolveu este conjunto de caracteres como uma extensão da norma ISO 8859-1. Foi utilizado nos sistemas operativos Windows e acrescentou caracteres adicionais, como as vírgulas invertidas alternadas (” “) e certos símbolos (€). A extensão era necessária para suportar línguas e caracteres especiais fora do conjunto ASCII original, especialmente para cumprir requisitos nacionais e técnicos.

Mais informações também em Wikipedia.org

O significado do código ASCII

O código ASCII desempenha um papel central na história da informática. Sem ele, a comunicação digital moderna, tal como a conhecemos, dificilmente seria possível. Apresentamos-te alguns dos seus aspectos mais importantes:

  1. Normalização:

O código ASCII tornou possível a apresentação coerente de dados de texto em diferentes sistemas informáticos. Este foi um passo decisivo para o desenvolvimento da Internet e das redes globais.

  1. Comunicação entre plataformas:

Devido à sua ampla aceitação, o código ASCII tornou-se a norma para formatos de ficheiros como TXT e HTML.

  1. Base para outra codificação:

Muitos sistemas de codificação modernos, como o UTF-8, baseiam-se no código ASCII e alargam a sua funcionalidade.

 

Aplicação do código ASCII

A utilização do código ASCII vai desde simples ficheiros de texto a aplicações de software complexas. Eis alguns exemplos:

Armazenamento de ficheiros e troca de dados: Formatos como .txt ou .csv utilizam ASCII para armazenar e transferir dados de texto.

Protocolos de comunicação: As aplicações e protocolos de rede, como o HTTP ou o SMTP, utilizam o ASCII para definir comandos de controlo e informações de cabeçalho.

Arte ASCII: Um exemplo criativo é a criação de imagens e desenhos constituídos exclusivamente por caracteres ASCII.

Geradores de código ASCII: Um gerador de código ASCII é uma ferramenta que ajuda os programadores a converter textos ou símbolos no seu código ASCII. Estas ferramentas são particularmente úteis para trabalhar com linguagens de programação ou protocolos de transferência de dados.

Aplicações do código ASCII na programação

Codificação de caracteres: Estas funções são úteis para analisar textos ou manipular codificações.

Arte ASCII: Podes utilizá-lo para gerar programaticamente caracteres como padrões de píxeis para arte ASCII. Isto permite-te criar imagens de píxeis específicas.

Protocolos de transmissão de dados: os códigos ASCII fazem frequentemente parte de formatos e protocolos de mensagens.

Encriptação: Com determinados algoritmos, os caracteres podem ser encriptados atribuindo simplesmente um carácter diferente a cada carácter ASCII. Apenas aqueles que conhecem a chave ou certas técnicas de descodificação podem descodificar os textos.

Programar o código ASCII em caracteres e vice-versa

Para converter o código ASCII em caracteres ou para converter caracteres no seu valor ASCII, podes utilizar funções simples em JavaScript e Python.

 

Código ASCII em JavaScript:


// Converte o valor ASCII em carácter

deixa que asciiValue = 65;

let character = String.fromCharCode(asciiValue);

console.log(character); // Saída: A

// Converte o carácter em valor ASCII

deixa char = ‘A’;

deixa que ascii = char.charCodeAt(0);

console.log(ascii); // Saída: 65


 

Código ASCII em Python:


# Converte o valor ASCII em carácter

valor_ascii = 65

carácter = chr(valor_ascii)

print(carácter) # Saída: A

# Converte o carácter em valor ASCII

char = “A

valor_ascii = ord(char)

print(ascii_value) # Saída: 65

 


Caracteres de código ASCII como gráficos de píxeis

Para apresentar caracteres ASCII num ecrã, estes devem ser armazenados como códigos de píxeis numa biblioteca. Nos modernos programas de processamento de texto estão disponíveis numerosos tipos de letra, a maioria dos quais se baseia em formatos vectoriais e pode ser dimensionada de forma flexível. No entanto, nos primórdios da tecnologia informática moderna e, em particular, com as impressoras matriciais, a representação dos caracteres dependia fortemente de gráficos de píxeis fixos. Estes caracteres eram impressos em formatos predefinidos, como 5 x 7,
8 x 12 ou tamanhos de grelha semelhantes.

Exemplos para o carácter ASCII (64) = @

Estas imagens de píxeis foram criadas com o nosso gerador de píxeis!

Código ASCII 64 5x7 píxeis

@ como 5 x 7 caracteres

Código ASCII 64 como 8x12 pixéis

@ como 8 x 12 caracteres

código ascii 64 arial 120pt

@ como carácter de escala

no tipo de letra “ARIAL”

Exemplo para o carácter ASCII (65) = A

Estas imagens de píxeis foram criadas com o nosso gerador de píxeis!

Código Ascii A 65 5x7 píxeis

A como 5 x 7 caracteres

Código ASCII A (65)

A como 8 x 12 caracteres

ASCII A 65 Arial

A como um carácter de escala

no ecrã de tipo “ARIAL

A necessidade desta definição de píxeis resultou das limitações técnicas da época. As impressoras matriciais, que geravam pixéis movendo seletivamente agulhas numa fita de cor, só podiam imprimir caracteres disponíveis em grelhas de pixéis claramente definidas. Cada agulha correspondia a um ponto de píxeis e o tamanho e a qualidade do tipo de letra eram definidos pela resolução destas grelhas.

Uma grelha típica de 5 x 7 permitia a visualização dos caracteres básicos do código ASCII, enquanto as grelhas maiores, como 8 x 12 ou 9 x 14, eram utilizadas para representações mais pormenorizadas.

Com os geradores de píxeis interactivos para 5 x 7 e 8 x 12 píxeis, podes experimentar e criar os teus próprios gráficos de píxeis.

Gerador de código de pixéis 5 x 7 pixéis

Clica nos campos para os assinalar.

Obtém os geradores de código de píxeis com a grelha de píxeis

5×7 píxeis ou 8 x 12 píxeis gratuitamente!

Abre simplesmente numa nova janela!

Podes personalizar o código HTML e alterar os títulos ou o texto dos botões nos geradores de píxeis. Basta transferires o ficheiro HTML: Vai ao teu browser: Ficheiro / Guardar como.

Estes códigos fixos de píxeis eram essenciais não só para as impressoras matriciais, mas também para a visualização nos primeiros monitores. Os monitores das primeiras gerações trabalhavam com resoluções baixas e só podiam apresentar caracteres em blocos cujas formas eram também definidas por grelhas de píxeis. A implementação destes padrões fixos foi uma pedra angular para a difusão da norma ASCII, que ainda hoje serve de base a muitas codificações de caracteres.

Um gerador de código ASCII

Armazenámos os gráficos de pixéis para todos os caracteres imprimíveis (32 – 127) como gráficos de 5 x 7 pixéis e programámos um gerador ASCII que te permite selecionar os caracteres.

Os caracteres ASCII como gráficos de píxeis são apenas um exemplo de como estes caracteres podem ser apresentados numa grelha de pontos. Um carácter é sempre atribuído a um número no código ASCII, independentemente da forma como é apresentado.

No programa Code Generator, todos os caracteres são armazenados em representação binária. Se analisares o código HTML deste programa, podes redefinir os caracteres tu mesmo!

Exemplo para ASCII (64):

64: [ // Exemplo para “@” em 5×7

“01110”,

“10001”,

“10011”,

“10101”,

“10011”,

“10000”,

“01111”

],