Saltar para o conteúdo

UTF-8

Origem: Wikipédia, a enciclopédia livre.
Série Unicode
Unicode
UCS
UTF-7
UTF-8
UTF-16
UTF-32/UCS-4
SCSU
Punycode

UTF-8(8-bitUnicode Transformation Format) é um tipo de codificação binária (Unicode) de comprimento variável criado porKen ThompsoneRob Pike.[1][2]Pode representar qualquer caractere universal padrão do Unicode, sendo também compatível com oASCII.Por esta razão, está lentamente a ser adaptado como tipo de codificação padrão para e-mail, páginas web, e outros locais onde os caracteres são armazenados.

UTF-8 usa de um a quatrobytes(estritamente, octetos) por caractere, 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 comdiacríticos.São também usados dois bytes para representar caracteres dos alfabetosGrego,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 doPlano 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 caractere ( "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". A definição de 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 oDEFLATE.Para textos curtos nos quais os tradicionais algoritmos não funcionam bem e se faz 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 e-mail consigam ler e criar mails usando o UTF-8.

UTF-8 foi criado porKen Thompsonno dia 2 de setembro de 1992, num restaurante de Nova Jersey, juntamente comRob Pike.No dia seguinte, Pike e Thompson implementaram-no e atualizaram o seu sistema operacionalPlan 9para passar a usá-lo.

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 daMicrosoftpara o Cab (MS Cabinet) de 1996 aceitam o uso de strings codificadas com o UTF-8 (apesar de ter sido lançado antes de o UTF-8 ter um padrão estabelecido), mas nunca chegou a ser implementado.

Existem várias definições, ligeiramente diferentes, do UTF-8 em vários documentos de padrões:

  • RFC 3629/ STD 63 (2003), que estabelece o UTF-8 como um elemento padrão do protocolo da Internet
  • The Unicode Standard, Version 4.0 (Padrão Unicode, Versão 4.0),§3.9-§3.10 (2003)
  • ISO/IEC 10646-1:2000 Anexo D (2000)

Substituem assim as definições prévias, já obsoletas:

  • ISO/IEC 10646-1:1993 Emenda 2 / Anexo R (1996)
  • The Unicode Standard, Version 2.0 (Padrão Unicode, Versão 2.0),Apêndice A (1996)
  • RFC 2044(1996)
  • RFC 2279(1998)
  • The Unicode Standard, Version 3.0 (Padrão Unicode, Versão 3.0),§2.3 (2000) mais Correcção #1: UTF-8 Shortest Form (UTF-8, Forma Mais Curta) (2000)
  • The Unicode Standard (Padrão Unicode), Anexo #27: Unicode 3.1(2001)

Todos são idênticos no seu funcionamento, diferindo apenas na escala de "code points" usados, e na manipulação segura deinputinválido. Os bits de um caractere 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 caractere 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.

Referências

  1. Pike, Rob.«UTF-8 history»
  2. Pike, Rob; Thompson, Ken (1993).«Hello World or Καλημέρα κόσμε or こんにちは thế giới »(PDF).Proceedings of the Winter 1993 USENIX Conference.[S.l.: s.n.]
Ícone de esboço Este artigo sobreinformáticaé umesboço.Você pode ajudar a Wikipédiaexpandindo-o.