|
Ferramentas |
UTF-8
UTF-8 usa de um a quatro bytes (estritamente octetos) por caracter, dependendo do símbolo Unicode que representa. É necessário apenas um byte para codificar os 128 caracteres ASCII (Unicode U+0000 a U+007F). São necessários dois bytes para caracteres Latinos com Diacríticos. São também usados dois bytes para representar caracteres dos alfabetos Grego, Cirílico, Armênio, Hebraico, Sírio e Thaana (Unicode U+0080 a U+07FF). São necessários três bytes para o resto do Plano Multilingual Básico (que contém praticamente todos os caracteres comuns utilizados). Existem ainda outros caracteres que necessitam de quatro bytes. Quatro bytes pode parecer muito para um caracter ("code point"), mas muito raramente são utilizados. Além disso, UTF-16 (a principal alternativa ao UTF-8) necessita também de quatro bytes para estes "code points". Qual dos dois é mais eficiente (UTF-8 ou UTF-16) depende da variedade de "code points" usados. Contudo, as diferenças entre os vários tipos de codificação tornam-se irrelevantes com o uso de sistemas de compressão como o DEFLATE. Para textos curtos onde os tradicionais algoritmos nao funcionam bem e onde é necessário ter o tamanho em consideração, é geralmente usado o Esquema Padrão de Compressão para Unicode (Standard Compression Scheme for Unicode). O "Internet Engineering Task Force" (IETF) requer que todos os protocolos utilizados na Internet suportem, pelo menos, o UTF-8. O "Internet Mail Consortium" (IMC) [1] recomenda que todos os clientes de email consigam ler e criar mails usando o UTF-8. [editar] HistóriaUTF-8 foi criado por Ken Thompson no dia 2 de Setembro de 1992, num restaurante de Nova Jersey, juntamente com Rob Pike. No dia seguinte, Pike e Thompson implementaram-no e atualizaram o seu sistema operacional Plan 9 para o passar a usar. UTF-8 foi anunciado formalmente numa conferência USENIX em San Diego, que decorreu de 25 a 29 de Janeiro de 1993. As especificações da Microsoft para o Cab (MS Cabinet) de 1996 aceitam o uso de strings codificadas com o UTF-8 (apesar de ter sido lançado antes do UTF-8 ter um padrão estabelecido), mas nunca chegou a ser implementado. [editar] DescriçãoExistem várias definições, ligeiramente diferentes, do UTF-8 em vários documentos de padrões:
Substituem assim as definições prévias, já obsoletas:
Todos são identicos no seu funcionamento, diferindo apenas na escala de "code points" usados, e na manipulação segura de input inválido. Os bits de um caracter Unicode são divididos em vários grupos, que são depois divididos entre as posições mais baixas dentro dos bytes do UTF-8. Um caracter com um "code point" abaixo de U+0080 é codificado com apenas um byte que contém o seu "code point": estes correspondem exactamente aos 128 caracteres do ASCII de 7-bit. Noutros casos, são necessários até quatro bytes. O mais alto destes é 1, para evitar confusão com os caracteres do ASCII de 7-bit, e assim manter seguro o processamento das strings padrão orientadas a bytes. |