UTF-1

UTF-1 é um formato de transformação de ISO 10646/Unicode em fluxos de bytes, a fim de serialização. Devido ao seu formato não é possível resincronizar se a decodificação começa no meio dum caractere (o que dificulta o truncamento) e rotinas de busca de caractere não podem ser usadas de forma confiável. Dados tais problemas, esse padrão nunca ganhou grande adoção, sendo quase que completamente substituído pelo UTF-8.

Série Unicode
Unicode
UCS
UTF-7
UTF-8
UTF-16
UTF-32/UCS-4
SCSU
Punycode

Padrão

UTF-1 é uma codificação multi-byte tal qual UTF-8, o que significa que um código Unicode pode estar codificado em um, dois, três ou cinco octetos. Enquanto a faixa do ASCII é codificada como um octeto assim como no UTF-8, os octetos 0x21 - 0x7E também são usados em codificações multi-byte, inviabilizando o UTF-1 para diversos protocolos Internet tais como MIME.

O UTF-1 não usa caracteres de controle SOH: qualquer octeto 0x00 - 0x20 ou 0x7F - x9F corresponde ao código correspondente em ISO-8859-1 (U+0000 - 0020 e U+007F-009F, respectivamente). Esse formato que estipula 66 octetos "protegidos" tenta ser compatível com o ISO 2022.

O esquema de codificação do UTF-1 usa uma aritmética de "módulo 190" (), desenvolvida para codificar todos os 31 bits do Conjunto Universal de Caracteres original (UCS-4). em comparação, o UTF-8 "protege" todos os 128 octetos ASCII, e necessita dos dois bits finais de códificações multi-byte para tal, resultando numa aritmética de "módulo 64" (, ). Já BOCU-1 "protege" somente o conjunto mínimo necessário para manter a compatibilidade com MIME (0x00, 0x07–0x0F, 0x1A–0x1B e 0x20), resultando numa aritmética de "módulo 243" ().

CódigoUTF-16BEUTF-16LEUTF-8UTF-1
U+007F007F7F007F7F
U+008000808000C28080
U+009F009F9F00C29F9F
U+00A000A0A000C2A0A0A0
U+00BF00BFBF00C2BFA0BF
U+00C000C0C000C380A0C0
U+00FF00FFFF00C3BFA0FF
U+010001000001C480A121
U+015D015D5D01C59DA17E
U+015E015E5E01C59EA1A0
U+01BD01BDBD01C6BDA1FF
U+01BE01BEBE01C6BEA221
U+07FF07FFFF07DFBFAA72
U+080008000008E0A080AA73
U+0FFF0FFFFF0FE0BFBFB548
U+100010000010E18080B549
U+401540151540E48095F5FF
U+401640161640E48096F62121
U+D7FFD7FFFFD7ED9FBFF72FC3
U+E000E00000E0EE8080F73A79
U+F8FFF8FFFFF8EFA3BFF75C3C
U+FDD0FDD0D0FDEFB790F762BA
U+FDEFFDEFEFFDEFB7AFF762D9
U+FEFFFEFFFFFEEFBBBFF7644C
U+FFFDFFFDFDFFEFBFBDF765AD
U+FFFEFFFEFEFFEFBFBEF765AE
U+FFFFFFFFFFFFEFBFBFF765AF
U+10000D800DC0000D800DCF0908080F765B0
U+38E2DD8A3DE2DA3D82DDEF0B8B8ADFBFFFF
U+38E2ED8A3DE2EA3D82EDEF0B8B8AEFC21212121
U+FFFFFDBBFDFFFBFDBFFDFF3BFBFBFFC2137B27A
U+100000DBC0DC00C0DB00DCF4808080FC2137B27B
U+10FFFFDBFFDFFFFFDBFFDFF48FBFBFFC21396E6C

Referências

  • «ISO IR 178» (PDF) (em inglês). Consultado em 13 de abril de 2010. Arquivado do original (PDF) em 23 de abril de 2013 Especificação do UTF-1

Ver também

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.