Representação da escrita em computador

Com a difusão da Informática, a representação da escrita no computador tornou-se um problema complexo, pois é preciso dar suporte a inúmeros sistemas de escrita, cada um com suas peculiaridades. Várias soluções surgiram ao longo do desenvolvimento da computação e aqui vamos falar das mais relevantes.

A primeira tabela ASCII

Basicamente, computadores armazenam números e para armazenar texto na sua memória, é preciso converter os grafemas em números. Por exemplo: a memória do computador, não armazena a letra A, mas o número 65. No início do desenvolvimento dos computadores, as soluções para tratar texto privilegiavam o idioma inglês. A primeira tabela ASCII (American standard code for information interchange) fazia uma correspondência entre números e os grafemas básicos da ortografia inglesa.

Essa tabela alcançava até o número 127, o que corresponde a um código de 7 bits, pois computadores operam com o sistema binário de contagem, e convertido em notação binária, 127 equivale a um número de 7 dígitos.

A primeira tabela ASCII funcionava bem para tratar textos em inglês, mas deixava a desejar na representação de textos em português, por exemplo, pois não considerava os grafemas com diacríticos da nossa ortografia como: á, é, ô, ç, ü, etc.

Tabelas ASCII estendidas

Com o tempo, a tabela ASCII foi expandida até o número 255. Em notação binária, isso corresponde a um número com 8 dígitos e, por isso, ela é considerada um código de 8 bits. Uma tabela ASCII estendida tem todos os caracteres considerados pela tabela anterior de 7 bits, mais uma expansão que resolveu vários problemas de representação como, por exemplo, os grafemas com diacríticos da língua portuguesa.

Embora a tabela ASCII de 8 bits seja mais ampla que sua antecessora e atenda às necessidades de representação em computador de um idioma como o português, ainda assim, alguns problemas persistem. A tabela ASCII estendida não permite acomodar ao mesmo tempo os grafemas do sistema latino e de outros sistemas como o cirílico, grego, hebraico, etc. Em função disso, foram criadas várias tabelas ASCII de 8 bits, cada uma delas adaptada às necessidades de uma ortografia específica.

Veja uma das tabelas ASCII estendidas, conhecida como ISO 8859-1 ou Latim I. orientada especificamente para alguns idiomas europeus ocidentais.

Notação bináriaNotação decimalCaractereDescrição
000000000NUL Nulo
000000011SOH Início de título
000000102STX Início do texto
000000113ETX Final do texto
000001004EOT Fim da transmissão
000001015ENQ Pesquisa
000001106ACK Confirmação
000001117BEL Aviso sonoro
000001008BS Backspace
000010019HT Tabulação horizontal
0000101010LF Alimentação de linha/nova linha
0000101111VT Tabulação vertical
0000110012FF Alimentação de formulário
0000110113CR Retorno de carro
0000111014SO Mover para fora
0000111115SI Mover para dentro
0001000016DLE Escape de vínculo de dados
0001000117DC1 Controle de dispositivo 1
0001001018DC2 Controle de dispositivo 2
0001001119DC3 Controle de dispositivo 3
0001010020DC4 Controle de dispositivo 4
0001010121NAK Confirmação negativa
0001011022SYN Estado ocioso síncrono
0001011123ETB Fim da transmissão
0001100024CAN Cancelar
0001100125EM Fim da mídia
0001101026SUB Substituir
0001101127ESC Sair
0001110028FS Separador de arquivos
0001110129GS Separador de grupos
0001111030RS Separador de registros
0001111131US Separador de unidades
0010000032 Espaço
0010000133!Ponto de exclamação
0010001034Aspas
0010001135#Símbolo de cardinal
0010010036$Símbolo da moeda
0010010137%Sinal de percentagem
0010011038&E comercial
0010011139Apóstrofo
0010100040(Abre parêntesis
0010100141)Fecha parêntesis
0010101042*Asterisco
0010101143+Sinal mais
0010110044,Virgula
0010110145Hífen
0010111046.Ponto final
0010111147/Barra
00110000480Dígito 0
00110001491Dígito 1
00110010502Dígito 2
00110011513Dígito 3
00110100524Dígito 4
00110101535Dígito 5
00110110546Dígito 6
00110111557Dígito 7
00111000568Dígito 8
00111001579Dígito 9
0011101058:Dois pontos
0011101159;Ponto e virgula
0011110060<Menor do que
0011110161=Igual a
0011111062>Maior do que
0011111163?Ponto de interrogação
0100000064@Arroba
0100000165AA maiúsculo
0100001066BB maiúsculo
0100001167CC maiúsculo
0100010068DD maiúsculo
0100010169EE maiúsculo
0100011070FF maiúsculo
0100011171GG maiúsculo
0100100072HH maiúsculo
0100100173II maiúsculo
0100101074JJ maiúsculo
0100101175KK maiúsculo
0100110076LL maiúsculo
0100110177MM maiúsculo
0100111078NN maiúsculo
0100111179OO maiúsculo
0101000080PP maiúsculo
0101000181QQ maiúsculo
0101001082RR maiúsculo
0101001183SS maiúsculo
0101010084TT maiúsculo
0101010185UU maiúsculo
0101011086VV maiúsculo
0101011187WW maiúsculo
0101100088XX maiúsculo
0101100189YY maiúsculo
0101101090ZZ maiúsculo
0101101191[Abre colchetes
0101110092\Barra invertida
0101110193]Fecha colchetes
0101111094^Acento circunflexo
0101111195_Underscore
0110000096`Acento grave
0110000197aa minúsculo
0110001098bb minúsculo
0110001199cc minúsculo
01100100100dd minúsculo
01100101101ee minúsculo
01100110102ff minúsculo
01100111103gg minúsculo
01101000104hh minúsculo
01101001105ii minúsculo
01101010106jj minúsculo
01101011107kk minúsculo
01101100108ll minúsculo
01101101109mm minúsculo
01101110110nn minúsculo
01101111111oo minúsculo
01110000112pp minúsculo
01110001113qq minúsculo
01110010114rr minúsculo
01110011115ss minúsculo
01110100116tt minúsculo
01110101117uu minúsculo
01110110118vv minúsculo
01110111119ww minúsculo
01111000120xx minúsculo
01111001121yy minúsculo
01111010122zz minúsculo
01111011123{Abre chaves
01111100124|Barra vertical
01111101125}Fecha chaves
01111110126~Til
01111111127DEL Apagar

Extensão

10000000128Ç
10000001129ü
10000010130é
10000011131â
10000100132ã
10000101133à
10000110134å
10000111135ç
10000100136ê
10001001137ë
10001010138è
10001011139ï
10001100140î
10001101141ì
10001110142Ä
10001111143Å
10010000144É
10010001145æ
10010010146Æ
10010011147ô
10010100148ö
10010101149ò
10010110150û
10010111151ù
10011000152ÿ
10011001153Ö
10011010154Ü
10011011155¢
10011100156£
10011101157¥
10011110158
10011111159ƒ
10100000160á
10100001161í
10100010162ó
10100011163ú
10100100164ñ
10100101165Ñ
10100110166ª
10100111167º
10101000168¿
10101001169
10101010170¬
10101011171½
10101100172¼
10101101173¡
10101110174«
10101111175»
10110000176
10110001177
10110010178
10110011179
10110100180
10110101181
10110110182
10110111183
10111000184
10111001185
10111010186
10111011187
10111100188
10111101189
10111110190
10111111191
11000000192
11000001193
11000010194
11000011195
11000100196
11000101197
11000110198
11000111199
11001000200
11001001201
11001010202
11001011203
11001100204
11001101205
11001110206
11001111207
11010000208
11010001209
11010010210
11010011211
11010100212Ô
11010101213
11010110214
11010111215
11011000216
11011001217
11011010218
11011011219
11011100220
11011101221
11011110222
11011111223
11100000224α
11100001225ß
11100010226Γ
11100011227π
11100100228Σ
11100101229σ
11100110230µ
11100111231τ
11101000232Φ
11101001233Θ
11101010234Ω
11101011235δ
11101100236
11101101237φ
11101110238ε
11101111239
11110000240
11110001241±
11110010242
11110011243
11110100244
11110101245
11110110246÷
11110111247
11111000248
11111001249
11111010250·
11111011251
11111100252
11111101253²
11111110254
11111111255

A correta visualização dos caracteres desta tabela depende de vários fatores técnicos. Em computadores atualizados, provavelmente, será possível uma visualização adequada sem problemas. A coluna dos grafemas foi criada com fonte Times New Roman.

Observe que nem todos os números da tabela correspondem a grafemas. Os números de 0 a 31, 127 e 255 são reservados para funções especiais de processamento e não representam caracteres imprimíveis.

Unicode

O padrão Unicode é definido pela Unicode Consortium (www.unicode.org), instituição sem fins lucrativos que se propõe a desenvolver um sistema abrangente e padronizado de representação de escrita em computadores.

No padrão Unicode, cada caractere está associado a um número identificador único. A tabela Unicode abrange os mais variados sistemas de escrita como latino, grego, cirílico, hebraico, árabe, japonês, chinês, etc., além de considerar símbolos matemáticos, musicais, de moeda, etc. Em função da variedade de caracteres que apresenta, a tabela Unicode é subdividida em blocos. Veja o blocos Unicode, do Latim básico:

bloco Unicode Latim Básico, corresponde exatamente à tabela ASCII de 7 bits.

Notação hexadecimalNotação decimalCaractereDescrição
00000NUL Nulo
00011SOH Início de título
00022STX Início do texto
00033ETX Final do texto
00044EOT Fim da transmissão
00055ENQ Pesquisa
00066ACK Confirmação
00077BEL Aviso sonoro
00088BS Backspace
00099HT Tabulação horizontal
000A10LF Alimentação de linha/nova linha
000B11VT Tabulação vertical
000C12FF Alimentação de formulário
000D13CR Retorno de carro
000E14SO Mover para fora
000F15SI Mover para dentro
001016DLE Escape de vínculo de dados
001117DC1 Controle de dispositivo 1
001218DC2 Controle de dispositivo 2
001319DC3 Controle de dispositivo 3
001420DC4 Controle de dispositivo 4
001521NAK Confirmação negativa
001622SYN Estado ocioso síncrono
001723ETB Fim da transmissão
001824CAN Cancelar
001925EM Fim da mídia
001A26SUB Substituir
001B27ESC Sair
001C28FS Separador de arquivos
001D29GS Separador de grupos
001E30RS Separador de registros
001F31US Separador de unidades
002032Espaço
002133!Ponto de exclamação
002234Aspas
002335#Símbolo de cardinal
002436$Símbolo da moeda
002537%Sinal de percentagem
002638&E comercial
002739Apóstrofo
002840(Abre parêntesis
002941)Fecha parêntesis
002A42*Asterisco
002B43+Sinal mais
002C44,Virgula
002D45Hífen
002E46.Ponto final
002F47/Barra
0030480Dígito 0
0031491Dígito 1
0032502Dígito 2
0033513Dígito 3
0034524Dígito 4
0035535Dígito 5
0036546Dígito 6
0037557Dígito 7
0038568Dígito 8
0039579Dígito 9
003A58:Dois pontos
003B59;Ponto e virgula
003C60<Menor do que
003D61=Igual a
003E62>Maior do que
003F63?Ponto de interrogação
004064@Arroba
004165AA maiúsculo
004266BB maiúsculo
004367CC maiúsculo
004468DD maiúsculo
004569EE maiúsculo
004670FF maiúsculo
004771GG maiúsculo
004872HH maiúsculo
004973II maiúsculo
004A74JJ maiúsculo
004B75KK maiúsculo
004C76LL maiúsculo
004D77MM maiúsculo
004E78NN maiúsculo
004F79OO maiúsculo
005080PP maiúsculo
005181QQ maiúsculo
005282RR maiúsculo
005383SS maiúsculo
005484TT maiúsculo
005585UU maiúsculo
005686VV maiúsculo
005787WW maiúsculo
005888XX maiúsculo
005989YY maiúsculo
005A90ZZ maiúsculo
005B91[Abre colchetes
005C92\Barra invertida
005D93]Fecha colchetes
005E94^Acento circunflexo
005F95_Underscore
006096`Acento grave
006197aa minúsculo
006298bb minúsculo
006399cc minúsculo
0064100dd minúsculo
0065101ee minúsculo
0066102ff minúsculo
0067103gg minúsculo
0068104hh minúsculo
0069105ii minúsculo
006A106jj minúsculo
006B107kk minúsculo
006C108ll minúsculo
006D109mm minúsculo
006E110nn minúsculo
006F111oo minúsculo
0070112pp minúsculo
0071113qq minúsculo
0072114rr minúsculo
0073115ss minúsculo
0074116tt minúsculo
0075117uu minúsculo
0076118vv minúsculo
0077119ww minúsculo
0078120xx minúsculo
0079121yy minúsculo
007A122zz minúsculo
007B123{Abre chaves
007C124|Barra vertical
007D125}Fecha chaves
007E126~Til
007F127DEL Apagar

O primeiro bloco da tabela Unicode (Latim básico) equivale exatamente à tabela ASCII de 7 bits.

Os blocos Extensões IPALetras Modificadoras de EspaçamentoSinais Diacríticos Combinados são de especial interesse dos lingüistas porque trazem a simbologia do Alfabeto Fonético Internacional.

O padrão Unicode considera um número elevado de caracteres. Seus identificadores são números binários de 16 dígitos e, por isso, o Unicode é considerado um código de 16 bits. A versatilidade do Unicode tem um custo, que é justamente o consumo maior de memória. Enquanto na primeira tabela ASCII, cada caractere estava associado a um número de 7 bits, no padrão Unicode cada caractere armazenado consome 16 bits de memória.

O Unicode tem sido adotado maciçamente pela indústria de software, o que o torna o padrão para representação de escrita em computadores.

SAMPA

O padrão Sampa (Speech Assessment Methods Phonetic Alphabet) é uma alternativa para representar em computador transcrições como a da IPA, quando se dispõe apenas dos caracteres da tabela ASCII de 7 bits. No padrão Sampa, fonemas do AFI, por exemplo, são representados por uma combinação de grafemas da tabela ASCII básica. Por exemplo:

Vogal oral, frontal, semifechada, não arredondadaE
Vogal oral, frontal, semi-fechada, arredondada9
Diacrítico indicador de duração longa:
Consoante velar lateral aproximanteL\
Vogal oral, central, semi-fechada, não arredondada@\

Essa solução pode ser útil em casos como o envio de transcrições por e-mail quando o serviço só opera com caracteres da tabela ASCII 7 bits.

Existem tabelas Sampa para vários idiomas, inclusive português. Além disso, existe uma tabela Sampa estendida, chamada X-Sampa, orientada para a representação do Alfabeto Fonético Internacional.

Grafologia

E se a linguagem neutra virar um negócio?

Baixe a planilha grátis que conjuga todos os verbos do português.

Sua opinião me interessa