Provided by:
manpages-pt_20040726-4_all 
NOME
Unicode - o superconjunto unificado de caracteres de 16 bits
DESCRIÇÃO
O padrão internacional ISO 10646 define o Universal Character Set
(UCS). UCS contém todos os caracteres de todos os outros padrões de
conjuntos de caracteres. Ele também garante a compatibilidade
retroativa ,isto é, as tabelas de conversão podem ser construídas de
forma que nenhuma informação seja perdida quando uma string é
convertida de qualquer outra codificação para UCS e vice-versa.
UCS contém os caracteres requeridos para representar quase todas as
línguas conhecidas. Isto inclui a maioria das línguas que usam
extensões da escrita latina, e também as seguintes escritas e línguas:
grego, cirílico, hebraico, árabe, armênio, gregoriano, japonês, chinês,
hiragana, katakana, coreano, hangul, devangari, bengali, gurmukhi,
gujarati, oriya, tamil, telugu, kannada, malaio, thai, lao, bopomofo, e
um muitas outras. Trabalha-se para que sejam incluídos mais escritas,
como tibetano, khmer, rúnico, etíope, hieróglifos, várias línguas indo-
européias, e muitas outras. Para muitas dessas escritas mais antigas,
ainda não era claro como elas poderiam ser codificadas melhor quando o
padrão foi publicado, em 1993. Além dos caracteres requeridos por essas
escritas, foi incluído um grande número de símbolos gráficos,
tipográficos, matemáticos e científicos, como aqueles fornecidos pelo
Tex, PostScript, MS-DOS, Macintosh, Videotexto, OCR, e muitos sistemas
de processamento de texto, além de códigos especiais que garantem
compatibility retroativa para todos os outros padrões de conjuntos de
caracteres existentes.
O padrão UCS (ISO 10646) descreve uma arquitetura de conjunto de
caracteres de 31 bits, porém hoje apenas as primeiras 65534 posições de
código (0x0000 to 0xfffd), que são chamadas de Plano Multilingual
Básico (Basic Multilingual Plane - BMP), receberam a atribuição de
caracteres, e é esperado que somente caracteres muito exóticos (por
exemplo, hieróglifos) para propósitos científicos especiais terão
lugar fora desse BMP de 16 bits.
Os caracteres UCS de 0x0000 a 0x007f são idênticos àqueles do conjunto
clássico de caracteres US-ASCII , e os caracteres na faixa de 0x0000 a
0x00ff são idênticos àqueles no conjunto de caracteres ISO 8859-1
Latin-1
COMBINANDO CARACTERES
Alguns pontos de código no UCS têm sido atribuídos aos caracteres
combinantes. Estes são similares às chaves de acento de não-
espaçamento em uma máquina de escrever. Um caractere combinante apenas
acrescenta um acento a um caractere anterior. Os caracteres acentuados
mais importantes têm seus próprios códigos em UCS, porém o mecanismo de
caracteres combinantes permitem acrescentar acentos e outras marcas
diacríticas a qualquer caractere. Os caracteres combinantes sempres
seguem o caractere que eles modificam. Por exemplo, o caractere alemão
Umlaut-A ("letra A maiúscula com trema") pode ser representada por um
código UCS pré-composto 0x00c4, ou alternativamente como a combinação
de uma "letra A maiúscula" normal seguida de um "trema combinante":
0x0041 0x0308.
NÍVEIS DE IMPLEMENTAÇÃO
Como nem todo sistema suporta mecanismos avançados, como caracteres
combinantes, a ISO 10646 especifica os três seguintes níveis de
implementação da UCS:
Nível 1 Caracteres combinantes e caracteres Hangul Jamo (uma
codificação especial e mais complicada da escrita coreana,
onde as sílabas Hangul são codificadas como dois ou três
subcaracteres) não são implementados.
Nível 2 Como o nível 1, porém em algumas escritas, alguns caracteres
combinantes são permitidos (por exemplo, para hebraico, árabe,
devangari, bengali, gurmukhi, gujarati, oriya, tamil, telugo,
kannada, malaio, thai e lao).
Nível 3 Todos os caracteres UCS são suportados.
O padrão Unicode 1.1 publicado pelo Unicode Consortium contém
exatamente o Plano Multilingual Básico da UCS no nível 3 de
implementação, como descrito na ISO 10646. O Unicode 1.1 também
acrescenta algumas definições semânticas para alguns caracteres para as
definições da ISO 10646.
UNICODE SOB LINUX
Sob o Linux, somente o nível de implementação 1 do BMP deve ser usado
no momento, de forma a manter a complexidade de implementação dos
caracteres combinantes baixos. Os níveis de implementação mais altos
são mais confiáveis para formatos especiais de formatação de palavras,
mas não como um conjunto de caracteres de um sistema genérico. O tipo
do C wchar_t é, em Linux, um tipo inteiro de 32 bits com sinal, e seu
valor é interpretado como um código UCS4
A configuração do locale especifica se a codificação de caractere do
sistema é, por exemplo, UTF-8 ou ISO 8859-1. Funções de biblioteca,
como wctomb, mbtowc, ou wprintf podem ser usadas para transformar os
caracteres e strings wchar_t internos em codificação de caracteres do
sistema, e vice-versa.
ÁREA PRIVATIVA
No BMP, a faixa de 0xe000 a 0xf8ff nunca será atribuída a qualquer
caractere pelo padrão, e é reservada para uso privativo. Para a
comunidade Linux, esta área privativa foi dividida nas faixas: x0e000 a
0xefff pode ser usada individualmente por algum usuário final; e a zona
Linux da faixa de 0xf000 a 0xf8ff onde as extensões são coordenadas
entre todos os usuários Linux. O registro dos caracteres atribuídos à
zona Linux é mantido atualmente por H. Peter Anvin
<Peter.Anvin@linux.org>, Yggdrasil Computing, Inc. Ele contém alguns
caracteres gráficos do VT100 da DEC, perdidos no Unicode, dá acesso
direto aos caracteres no buffer de fontes do console, e contém os
caracteres usados por escritas um pouco avançadas, como o Klingon.
LITERATURA
* Tecnologia da informação - Conjunto Universal de Caracteres
Codificados em Múltiplos Octetos (UCS) - Parte 1: Arquitetura e Plano
Multilingual Básico. Padrão Internacional ISO 10646-1, Organização
Internacional para Padronização, Genebra, 1993.
Esta é a especificação oficial do UCS. Bem oficial, bem denso, e bem
caro. Para informações sobre encomenda, verifique www.iso.ch.
* O Padrão Unicode - Codificação Mundial de Caracteres Versão 1.0. O
Consórcio Unicode, Addison-Wesley, Reading, MA, 1991.
Já existe o Unicode 1.1.4 disponível. As mudanças para o livro do 1.0
estão disponíveis a partir de ftp.unicode.org. O Unicode 2.0 será
publicado novamente como um livro em 1996.
* S. Harbison, G. Steele. C - Um Manual de Referência. Quarta edição,
Prentice Hall, Englewood Cliffs, 1995, ISBN 0-13-326224-3.
Um bom livro de referência sobre a linguagem de programação C. A
quarta edição agora cobre também a Emenda de 1994 para o padrão ISO
do C (ISO/IEC 9899:1990), que acrescenta um grande número de novas
funções da biblioteca C para manipulação de grandes conjuntos de
caracteres.
PROBLEMAS
No momento em que esta página de manual foi escrita, o suporte da libc
do Linux para o UCS estava longe de estar completo.
AUTOR
Markus Kuhn <mskuhn@cip.informatik.uni-erlangen.de>
VEJA TAMBÉM
utf-8(7)
TRADUZIDO POR LDP-BR em 21/08/2000.
Rubens de Jesus Nogueira <darkseid99@usa.net> (tradução) André L.
Fassone Canova <lonelywolf@blv.com.br> (revisão)