Início > Organização de Computadores > Códigos de caracteres ASCII, IS 8859 e Unicode

Códigos de caracteres ASCII, IS 8859 e Unicode

 

  • Códigos de caracteres
    • Visão geral
      • tabela com mapeamento de caracteres para valor escalar (números inteiros);
      • cada inteiro é denominado ponto de código ou código;
      • espaço de código é o conjunto dos números inteiros que possuem representação em determinada codificação;
    • ASCII e Latin-1
      • o padrão ASCII utiliza 7 bits (espaço de código de 0 até 127) armazenados em 1 byte, já os códigos 128 a 255 não são utilizados;
      • o padrão Latin-1 (IS 646) utiliza 8 bits (0 até 255 ou 256 pontos de código) em que foram adicionadas letras latinas acentuadas;
      • códigos de 0 até 31 são caracteres de controle, sem representação gráfica, a maioria para transmissão de dados (em desuso);
    • IS 8859
      • o padrão IS 8859 definiu a página de código, com 8 bits para cada idioma ou conjunto de idiomas;
      • IS 8859-1 é o próprio Latin-1, IS 8859-5 para russo e sérvio, IS 8859-9 para turco, até IS 8859-16 para romeno e esloveno;
      • o padrão IS 8859 não permite misturar as páginas de código, nem suporta idiomas com ideogramas;
    • Unicode (link)
      • Visão geral
        • Unicode é um padrão de codificação de caracteres projetado de ser universal, eficiente, seguro e não ambíguo;
        • define uma forma consistente de codificação para multi línguas em conformidade com IS 10646:2014;
        • provê capacidade para codificar todos os caracteres (alfabéticos, ideograma e símbolos) usados para escrita no mundo;
        • associa um valor numérico imutável e um nome para cada caractere, além de planos à identidade, comportamento e direção;
        • fornece especificação para manipulação de texto: divisão de palavras, ordenação, formatos de números, datas, horas, direção;
        • permite combinação dinâmica de n-caracteres com representação equivalente ao caractere seguido do acento (e’=é);
        • utiliza 3 formas de codificação: UTF-8, UTF-16 e UTF-32;
      • Planos
        • utiliza 17 planos de 16 bits (0 até 1.114.111), o plano multilíngue básico (plano 0) e 16 planos suplementares (10[16]);
        • 5 bits identificam os planos e 16 bits para cada plano (espaço de código até 10FFFF);
        • o plano multilíngue básico (65.536 pontos de código) possui a maioria dos caracteres comuns as línguas do mundo;
      • Esquemas
        • utiliza 7 esquemas da codificação: UTF-8, UTF-16BE, UTF-16LE, UTF-16, UTF-32BE, UTF-32LE e UTF-32;
        • esquemas de codificação estão relacionados com a ordenação dos bytes (Little ou Big Endian);
        • os esquemas de codificação UTF-16 e UTF-32 utilizam uma marca de ordem de byte (BOM) para identificar a ordem;
        • os esquemas de codificação UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE definem explicitamente a ordem e não usam BOM;
        • o esquema de codificação UTF-8, por ser orientado a byte, é equivalente em Little ou Big Endian, logo não usa BOM;
      • UTF-8
        • o padrão UTF-8 permite identificar 2,14 bilhões pontos de código (2^31 = 2.147.483.648) em um formato orientado a byte;
        • utiliza tamanho variável de 7, 11, 16, 21, 26 ou 31 bits armazenados em 1, 2, 3, 4, 5 ou 6 bytes, respectivamente;
        • código auto sincronizável, pois os bytes não iniciais começam por ’10’, tornando identificável o inicio do próximo caractere;
        • os bits de maior ordem (esquerda para direita) do primeiro byte determinam quantos bytes (1 a 6 bytes) formam o caractere;
        • os bits de dados (d) são utilizados para representar os 17 planos do padrão Unicode (21 bits – 1.114.112 pontos de código);
        • caractere de 1 byte, 7 bits úteis    → 0ddddddd; (compatível com padrão ASCII);
        • caractere de 2 bytes, 11 bits úteis → 110ddddd 10dddddd;
        • caractere de 3 bytes, 16 bits úteis → 1110dddd 10dddddd 10dddddd;
        • caractere de 4 bytes, 21 bits úteis → 11110ddd 10dddddd 10dddddd 10dddddd; (suficiente para suportar o Unicode);
        • caractere de 5 bytes, 26 bits úteis → 111110dd 10dddddd 10dddddd 10dddddd 10dddddd;
        • caractere de 6 bytes, 31 bits úteis → 1111110d 10dddddd 10dddddd 10dddddd 10dddddd 10dddddd;

 

 

 

 

Anúncios
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe um comentário

Faça o login usando um destes métodos para comentar:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s