unicode(7) Miscellaneous Information Manual unicode(7) NOME unicode - conjunto de caracteres universal DESCRICAO The international standard ISO/IEC 10646 defines the Universal Character Set (UCS). UCS contains all characters of all other character set standards. It also guarantees "round-trip compatibility"; in other words, conversion tables can be built such that no information is lost when a string is converted from any other encoding to UCS and back. UCS contem os caracteres necessarios para representar quase todas as linguas conhecidas. Isto inclui nao somente a latina, grega, cirilica, hebraica, arabe, armenia e gregoriana, mas tambem chinesa, japonesa e coreana, como tambem as escritas em ideogramas hiragana, katakana, hangul, devangari, bengali, gurmukhi, gujarati, oriya, tamil, telugu, kannada, malaio, thai, lao, khmer, bopomofo, tibetana, runica, etiope, silabica canadense, cherokee, mongol, oghan, myanmar, sinhalam thaana, yi e muitas outras. Para escritas ainda nao cobertas, pesquisas de como se fazer a codificacao para o computador ainda sao realizadas e elas serao eventualmente adicionadas. Isto nao inclui somente simbolos graficos e varias linguagens historicas indo-europeias mas, tambem, escritas artisticas como o tengwar, cirth e klingon. A UCS tambem inclui um grande numero de simbolos graficos, tipograficos, matematicos e cientificos, como aqueles fornecidos pelo Tex, PostScript, APL, MS-DOS, MS-Windows, Macintosh, fontes OCR e muitos sistemas de processamento de texto e de publicacao, e mais sera adicionado. The UCS standard (ISO/IEC 10646) describes a 31-bit character set architecture consisting of 128 24-bit groups, each divided into 256 16-bit planes made up of 256 8-bit rows with 256 column positions, one for each character. Part 1 of the standard (ISO/IEC 10646-1) defines the first 65534 code positions (0x0000 to 0xfffd), which form the Basic Multilingual Plane (BMP), that is plane 0 in group 0. Part 2 of the standard (ISO/IEC 10646-2) adds characters to group 0 outside the BMP in several supplementary planes in the range 0x10000 to 0x10ffff. There are no plans to add characters beyond 0x10ffff to the standard, therefore of the entire code space, only a small fraction of group 0 will ever be actually used in the foreseeable future. The BMP contains all characters found in the commonly used other character sets. The supplemental planes added by ISO/IEC 10646-2 cover only more exotic characters for special scientific, dictionary printing, publishing industry, higher-level protocol and enthusiast needs. A representacao de cada caractere UCS como uma palavra de 2 bytes e referida pela forma UCS-2 (somente para caracteres BMP), enquanto que UCS-4 e a representacao de cada caractere por uma palavra de 4 bytes. Adicionalmente, existem duas formas de codificacao UTF-8 para tratamento de compatibilidade reversa com processamento ASCII e UTF-16 para tratamento de compatibilidade reversa com caracteres que nao estejam no BMP para 0x10ffff para UCS-2. The UCS characters 0x0000 to 0x007f are identical to those of the classic US-ASCII character set and the characters in the range 0x0000 to 0x00ff are identical to those in ISO/IEC 8859-1 (Latin-1). Caracteres combinantes Alguns pontos de codigo no UCS tem sido atribuidos aos caracteres combinantes. Estes sao similares as teclas de acento de nao-espacamento em uma maquina de escrever. Um caractere combinante apenas acrescenta um acento a um caractere anterior. Os caracteres acentuados mais importantes tem seus proprios codigos no UCS, porem o mecanismo de caracteres combinantes permitem acrescentar acentos e outras marcas diacriticas a qualquer caractere. Os caracteres combinantes sempre seguem o caractere que eles modificam. Por exemplo, o caractere alemao Umlaut-A ("letra A maiuscula com trema") pode ser representado pelo codigo UCS pre-composto 0x00c4, ou alternativamente como a combinacao de uma "letra A maiuscula" normal seguida de um "trema combinante": 0x0041 0x0308. Caracteres combinantes sao essencialmente para codificar a escrita thai ou tipografia matematica e usuarios do Alfabeto Fonetico Internacional. Niveis de implementacao As not all systems are expected to support advanced mechanisms like combining characters, ISO/IEC 10646-1 specifies the following three implementation levels of UCS: Nivel 1 Caracteres combinantes e caracteres Hangul Jamo (uma codificacao especial e mais complicada da escrita coreana, onde as silabas Hangul sao codificadas como dois ou tres codigos vogal/consoante) nao sao implementados. Nivel 2 Em adicao ao nivel 1, caracteres combinantes sao agora permitidos para algumas linguas, onde sao essenciais (por exemplo, thai, lao, hebraico, arabe, devangari, malaio, etc.). Nivel 3 Todos os caracteres UCS sao suportados. The Unicode 3.0 Standard published by the Unicode Consortium contains exactly the UCS Basic Multilingual Plane at implementation level 3, as described in ISO/IEC 10646-1:2000. Unicode 3.1 added the supplemental planes of ISO/IEC 10646-2. The Unicode standard and technical reports published by the Unicode Consortium provide much additional information on the semantics and recommended usages of various characters. They provide guidelines and algorithms for editing, sorting, comparing, normalizing, converting, and displaying Unicode strings. Unicode no Linux No GNU/Linux, o tipo C wchar_t e um tipo inteiro, com sinal, de 32 bits. Estes valores sao sempre interpretados pela biblioteca C como codigo UCS (em todas as localizacoes), uma convencao que e assinalada pela biblioteca GNU C para aplicacoes pela definicao da constante __STDC_ISO_10646__ como especificado no padrao ISO C99. UCS/Unicode pode ser usado como ASCII nos fluxos de entrada/saida, comunicacao de terminais, arquivos de texto simples, nomes de arquivos e variaveis de ambiente na codificacao multibyte UTF-8, compativel ASCII. Para sinalizar o uso do UTF-8 como codificacao caractere para todos aplicativos, uma localidade (locale) adequada deve ser selecionada pela variaveis de ambiente (por exemplo, "LANG=en_GB.UTF-8"). A funcao nl_langinfo(CODESET) retorna o nome da codificacao selecionada. Bibliotecas de funcoes como wctomb(3) e mbsrtowcs(3) podem ser usadas para transformar os caracteres wchar_t e strings internas na codificacao de caracteres do sistema, e vice-versa, e wcwidth(3) informa quantas posicoes (0-2) o cursor avanca pela saida de um caractere. Area de Uso Privativo (PUA) No Plano Multilingue Basico, a faixa de 0xe000 ate 0xf8ff nunca sera atribuida a qualquer caractere pelo padrao, e e reservada para uso privativo. Para a comunidade Linux, esta area privativa foi dividida na faixa de x0e000 ate 0xefff, que pode ser usada individualmente por algum usuario final, e a zona Linux na faixa de 0xf000 ate 0xf8ff, onde as extensoes sao coordenadas entre todos os usuarios Linux. O registro dos caracteres atribuidos a zona Linux e mantido por LANANA e o registro em si e Documentation/admin-guide/unicode.rst no codigo-fonte do kernel Linux (ou Documentation/unicode.txt antes do Linux 4.10). Dois outros planos estao reservados para uso privativo: plano 15 (Area-A de Uso Privativo Suplementar, faixa de 0xf0000 ate 0xffffd) e plano 16 (Area-B de Uso Privativo Suplementar, faixa de 0x100000 ate 0x10fffd). Literatura o Information technology -- Universal Multiple-Octet Coded Character Set (UCS) -- Part 1: Architecture and Basic Multilingual Plane. International Standard ISO/IEC 10646-1, International Organization for Standardization, Genebra, 2000. Esta e a especificacao oficial do UCS. Disponivel em . o The Unicode Standard, Version 3.0. The Unicode Consortium, Addison-Wesley, Reading, MA, 2000, ISBN 0-201-61633-5. o S. Harbison, G. Steele. C: Um Manual de Referencia. Quarta edicao, Prentice Hall, Englewood Cliffs, 1995, ISBN 0-13-326224-3. Um bom livro de referencia sobre a linguagem de programacao C. A quarta edicao agora cobre tambem a Emenda de 1994 para o padrao ISO do C 90, que acrescenta um grande numero de novas funcoes da biblioteca C para manipulacao de conjuntos de caracteres largos e multi-bytes, mas ele nao cobre a ISO C 99, que aprimora o suporte a caracteres largos e multi-bytes. o Relatorios tecnicos Unicode. o Markus Kuhn: UTF-8 e Unicode FAQ para UNIX/Linux. o Bruno Haible: Unicode HOWTO. VEJA TAMBEM locale(1), setlocale(3), charsets(7), utf-8(7) TRADUCAO A traducao para portugues brasileiro desta pagina man foi criada por Rubens de Jesus Nogueira , Andre Luiz Fassone e Rafael Fontenelle . Esta traducao e uma documentacao livre; leia a Licenca Publica Geral GNU Versao 3 ou posterior para as condicoes de direitos autorais. Nenhuma responsabilidade e aceita. Se voce encontrar algum erro na traducao desta pagina de manual, envie um e-mail para a lista de discussao de tradutores . Linux man-pages 6.06 28 janeiro 2024 unicode(7)