O que é texto ASCII e como ele é usado?
ASCII é um acrônimo que você deve ter ouvido em relação a texto de computador, mas é um termo que está rapidamente caindo em desuso graças a um recém-chegado mais poderoso. Mas o que é ASCII e para que é usado?
O que significa ASCII?
Talvez o lugar mais fácil para começar seja o próprio acrônimo, então vamos expandi-lo:
A merican OLUNA C ode para I NFORMAÇÃO eu nterchange
Essa boca cheia de frase não dá realmente uma imagem completa, mas algumas partes oferecem imediatamente algumas pistas, principalmente as duas primeiras palavras. ASCII é um padrão americano, cujo significado logo se tornará aparente.
“Code for Information Interchange” sugere que estamos falando sobre um formato para passar dados de um lado para outro. Especificamente, ASCII lida com dados textuais: caracteres que formam palavras em uma linguagem tipicamente legível.
O ASCII resolve o problema de como atribuir valores a letras e outros caracteres para que, quando armazenados como uns e zeros em um arquivo, possam ser traduzidos de volta em letras quando o arquivo for lido posteriormente. Se diferentes sistemas de computador concordarem com o mesmo código a ser usado, essas informações podem ser trocadas de maneira confiável.
A História do ASCII
Às vezes referido como US-ASCII, ASCII foi uma inovação americana desenvolvida na década de 1960. O padrão passou por muitas revisões desde, principalmente em 1977 e 1986, quando o ASCII foi atualizado pela última vez.
Extensões e variações foram construídas com base no ASCII ao longo dos anos, principalmente para atender ao fato de que o ASCII omite muitos caracteres usados, ou mesmo exigidos, por idiomas diferentes do inglês americano. O ASCII nem mesmo fornece o símbolo da moeda do Reino Unido (“£”), embora a libra esteja presente no Latin-1, uma extensão de 8 bits desenvolvida na década de 1980, que codifica várias outras moedas também.
O ASCII foi amplamente estendido e sucedido pelo Unicode, um padrão muito mais abrangente e ambicioso, que é discutido abaixo. Em 2008, o Unicode superou o ASCII em popularidade para uso online.
Quais caracteres o ASCII representa?
Para um computador, a letra “A” é tão desconhecida quanto a cor roxa ou o sentimento de ciúme. Os computadores lidam com uns e zeros, e cabe aos humanos decidir como usar esses uns e zeros para representar números, palavras, imagens e qualquer outra coisa.
Você pode pensar em ASCII como o código Morse do mundo digital – a primeira tentativa, pelo menos. Enquanto o código Morse é usado para representar apenas 36 caracteres diferentes (26 letras e 10 dígitos), o ASCII foi projetado para representar até 128 caracteres diferentes em 7 bits de dados.
ASCII diferencia maiúsculas de minúsculas, o que significa que representa 52 letras maiúsculas e minúsculas do alfabeto inglês. Junto com os mesmos 10 dígitos, é cerca de metade do espaço usado.
Pontuação, símbolos matemáticos e tipográficos ocupam o restante, e uma coleção de caracteres de controle, que são códigos especiais não imprimíveis com significados funcionais – veja mais abaixo.
Aqui estão alguns caracteres típicos que codificam ASCII:
Binário | Decimal | Personagem |
---|---|---|
010 0001 | 33 | ! |
011 0000 | 48 | 0 |
011 1001 | 57 | 9 |
011 1011 | 59 | ; |
100 0001 | 65 | UMA |
100 0010 | 66 | B |
101 1010 | 90 | Z |
101 1011 | 91 | [ |
110 0001 | 97 | uma |
110 0010 | 98 | b |
111 1101 | 125 | } |
Observe que os valores escolhidos têm algumas propriedades úteis, em particular:
- Letras do mesmo caso sempre podem ser classificadas numericamente, pois estão em ordem. Por exemplo, A tem um valor inferior a B, que possui um valor inferior a Z.
- Letras de maiúsculas e minúsculas são deslocadas exatamente em 32. Isso torna muito fácil traduzir entre maiúsculas e minúsculas, uma vez que apenas um único bit precisa ser trocado para cada letra, de qualquer maneira.
Personagens de Controle
Além de letras, pontuação e dígitos, o ASCII pode representar vários caracteres de controle, pontos de código especiais que não produzem saída de caractere único, mas fornecem significados alternativos sobre os dados para o que quer que os esteja consumindo.
Por exemplo, ASCII 000 1001 é o caractere de tabulação horizontal. Ele representa o espaço que você obterá ao pressionar a tecla TAB. Normalmente, você não verá esses caracteres diretamente, mas seu efeito geralmente será mostrado. Aqui estão mais alguns exemplos:
Binário | Decimal | Personagem |
---|---|---|
000 1001 | 9 | Guia horizontal |
000 1010 | 10 | Alimentação de linha |
001 0111 | 23 | Fim do Bloco de Transmissão |
E quanto aos outros personagens?
O ASCII teve um enorme sucesso durante os primeiros dias da computação, pois era simples e amplamente adotado. No entanto, em um mundo com uma visão mais internacional, um sistema de escrita simplesmente não vai funcionar. As comunicações modernas precisam ser possíveis em francês, japonês – na verdade, qualquer idioma em que possamos querer armazenar texto.
O conjunto de caracteres Unicode pode endereçar um total de 1.112.064 caracteres diferentes, embora apenas cerca de um décimo deles estejam atualmente definidos. Pode parecer muito, mas a codificação visa não apenas atender a dezenas de milhares de caracteres chineses, mas também abrange emoji (quase um mil e quinhentos) e até sistemas de escrita extintos, como o Jurchen.
O Unicode reconheceu o domínio do ASCII na escolha dos primeiros 128 caracteres: eles são exatamente iguais ao ASCII. Isso permite que arquivos codificados em ASCII sejam usados em situações em que o Unicode é esperado, fornecendo compatibilidade com versões anteriores.
Resumo
O texto ASCII representa as 26 letras do alfabeto inglês, com dígitos, pontuação e alguns outros símbolos inseridos. Ele serviu muito bem ao seu propósito por quase meio século,
Ele agora foi substituído pelo Unicode, que oferece suporte a um grande número de idiomas e outros símbolos, incluindo emoji. UTF-8 é, para todos os efeitos práticos, a codificação que deve ser usada para representar caracteres Unicode online.