Provided by: manpages-pt-br_4.23.1-1_all bug

NOME

       unicode - conjunto de caracteres universal

DESCRIÇÃO

       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  contém os caracteres necessários para representar quase todas as línguas conhecidas. Isto inclui não
       somente a latina, grega, cirílica, hebraica, árabe, armênia e gregoriana, mas também chinesa, japonesa  e
       coreana,  como também as escritas em ideogramas hiragana, katakana, hangul, devangari, bengali, gurmukhi,
       gujarati, oriya, tamil, telugu, kannada, malaio, thai, lao, khmer, bopomofo,  tibetana,  rúnica,  etíope,
       silábica  canadense, cherokee, mongol, oghan, myanmar, sinhalam thaana, yi e muitas outras. Para escritas
       ainda não cobertas, pesquisas de como se fazer a codificação para o computador  ainda  são  realizadas  e
       elas  serão  eventualmente  adicionadas.  Isto  não  inclui somente símbolos gráficos e várias linguagens
       históricas indo-europeias mas, também, escritas artísticas como o tengwar, cirth e klingon. A UCS  também
       incluí  um  grande  número  de  símbolos  gráficos, tipográficos, matemáticos e científicos, como aqueles
       fornecidos pelo Tex, PostScript, APL, MS-DOS, MS-Windows, Macintosh, fontes  OCR  e  muitos  sistemas  de
       processamento de texto e de publicação, e mais será 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 representação de cada caractere UCS como uma palavra de 2 bytes é referida pela  forma  UCS-2  (somente
       para  caracteres BMP), enquanto que UCS-4 é a representação de cada caractere por uma palavra de 4 bytes.
       Adicionalmente, existem duas formas de codificação UTF-8 para tratamento de compatibilidade  reversa  com
       processamento ASCII e UTF-16 para tratamento de compatibilidade reversa com caracteres que não 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 código no UCS têm sido atribuídos aos caracteres combinantes.  Estes  são  similares  às
       teclas 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 no
       UCS, porém o mecanismo de caracteres combinantes permitem acrescentar acentos e outras marcas diacríticas
       a  qualquer  caractere.  Os  caracteres  combinantes  sempre  seguem  o caractere que eles modificam. Por
       exemplo, o caractere alemão Umlaut-A ("letra A maiúscula com trema") pode ser  representado  pelo  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.

       Caracteres combinantes são essencialmente para codificar  a  escrita  thai  ou  tipografia  matemática  e
       usuários do Alfabeto Fonético Internacional.

   Níveis de implementação
       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:

       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   códigos
                vogal/consoante) não são implementados.

       Nível 2  Em adição ao nível 1, caracteres combinantes são agora permitidos para algumas línguas, onde são
                essenciais (por exemplo, thai, lao, hebraico, árabe, devangari, malaio, etc.).

       Nível 3  Todos os caracteres UCS são 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  é  um  tipo inteiro, com sinal, de 32 bits. Estes valores são sempre
       interpretados pela biblioteca C como  código  UCS  (em  todas  as  localizações),  uma  convenção  que  é
       assinalada  pela  biblioteca  GNU  C  para aplicações pela definição da constante __STDC_ISO_10646__ como
       especificado no padrão ISO C99.

       UCS/Unicode pode ser usado como ASCII nos fluxos de entrada/saída, comunicação de terminais, arquivos  de
       texto  simples,  nomes  de  arquivos  e  variáveis de ambiente na codificação multibyte UTF-8, compatível
       ASCII. Para sinalizar o uso do UTF-8 como codificação caractere para todos  aplicativos,  uma  localidade
       (locale) adequada deve ser selecionada pela variáveis de ambiente (por exemplo, "LANG=en_GB.UTF-8").

       A  função  nl_langinfo(CODESET)  retorna  o  nome da codificação selecionada. Bibliotecas de funções como
       wctomb(3) e mbsrtowcs(3) podem ser usadas para transformar os caracteres wchar_t e  strings  internas  na
       codificação  de caracteres do sistema, e vice-versa, e wcwidth(3) informa quantas posições (0–2) o cursor
       avança pela saída de um caractere.

   Área de Uso Privativo (PUA)
       No Plano Multilíngue Básico, a faixa de 0xe000 até 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 na
       faixa de x0e000 até 0xefff, que pode ser usada individualmente por algum usuário final, e a zona Linux na
       faixa de 0xf000 até 0xf8ff, onde as extensões são coordenadas entre todos os usuários Linux.  O  registro
       dos   caracteres   atribuídos   à   zona   Linux   é   mantido   por   LANANA   e  o  registro  em  si  é
       Documentation/admin-guide/unicode.rst no código-fonte do kernel Linux (ou Documentation/unicode.txt antes
       do Linux 4.10).

       Dois outros planos estão reservados para uso privativo: plano 15 (Área-A de  Uso  Privativo  Suplementar,
       faixa  de  0xf0000  até  0xffffd)  e plano 16 (Área-B de Uso Privativo Suplementar, faixa de 0x100000 até
       0x10fffd).

   Literatura
       •  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 é a especificação oficial do UCS. Disponível em http://www.iso.ch/.

       •  The  Unicode  Standard,  Version 3.0.  The Unicode Consortium, Addison-Wesley, Reading, MA, 2000, ISBN
          0-201-61633-5.

       •  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 90,  que  acrescenta  um  grande  número  de  novas  funções  da
          biblioteca C para manipulação de conjuntos de caracteres largos e multi-bytes, mas ele não cobre a ISO
          C 99, que aprimora o suporte a caracteres largos e multi-bytes.

       •  Relatórios técnicos Unicode.
          http://www.unicode.org/reports/

       •  Markus Kuhn: UTF-8 e Unicode FAQ para UNIX/Linux.
          http://www.cl.cam.ac.uk/~mgk25/unicode.html

       •  Bruno Haible: Unicode HOWTO.
          http://www.tldp.org/HOWTO/Unicode-HOWTO.html

VEJA TAMBÉM

       locale(1), setlocale(3), charsets(7), utf-8(7)

TRADUÇÃO

       A  tradução  para  português  brasileiro  desta  página  man  foi  criada  por  Rubens  de Jesus Nogueira
       <darkseid99@usa.net>,    André    Luiz    Fassone    <lonely_wolf@ig.com.br>    e    Rafael    Fontenelle
       <rafaelff@gnome.org>.

       Esta  tradução  é  uma documentação livre; leia a Licença Pública Geral GNU Versão 3 ou posterior para as
       condições de direitos autorais.  Nenhuma responsabilidade é aceita.

       Se você encontrar algum erro na tradução  desta  página  de  manual,  envie  um  e-mail  para  a lista de
       discussão de tradutores.

Linux man-pages 6.8                                2 maio 2024                                        unicode(7)