Glossário Unicode

150 termos essenciais Unicode explicados — dos fundamentos de codificação de caracteres aos conceitos de segurança.

Codificação (17)

ASCII

Código Padrão Americano para o Intercâmbio de Informação. Codificação de 7 bits cobrindo 128 caracteres (0–127): caracteres de controle, dígitos, …

ASCII Art

Visual art created from text characters, originally limited to the 95 printable ASCII characters. Unicode expands the palette with box-drawing …

Base64

Binary-to-text encoding that represents binary data using 64 ASCII characters (A–Z, a–z, 0–9, +, /). Used for embedding binary data …

Big5

Codificação de caracteres chineses tradicionais usada principalmente em Taiwan e Hong Kong, codificando aproximadamente 13.000 caracteres CJK.

Codificação de caracteres

Sistema que mapeia caracteres para sequências de bytes para armazenamento e transmissão digital. Todo arquivo de texto tem uma codificação …

Conjunto de caracteres IANA

Registro oficial de nomes de codificações de caracteres mantido pela IANA, usado em cabeçalhos HTTP Content-Type e MIME (por exemplo, …

EBCDIC

Código Estendido de Intercâmbio Decimal Codificado em Binário. Codificação de mainframe IBM com intervalos de letras não contíguos, ainda usada …

EUC-KR

Codificação de caracteres coreanos baseada em KS X 1001, mapeando sílabas Hangul e Hanja para sequências de duplo byte.

GB2312 / GB18030

Família de codificações de caracteres chineses simplificados: GB2312 (6.763 caracteres) evoluiu para GBK e depois GB18030, o padrão nacional chinês …

ISO 8859

Família de codificações de byte único de 8 bits para diferentes grupos de idiomas. ISO 8859-1 (Latin-1) foi a base …

Marca de ordem de bytes

U+FEFF colocado no início de um fluxo de texto para indicar a ordem de bytes e a codificação. Essencial para …

Shift JIS

Codificação de caracteres japoneses combinando ASCII/JIS Roman de byte único com kanji JIS X 0208 de duplo byte. Ainda utilizada …

UCS-2

Codificação obsoleta de comprimento fixo de 2 bytes cobrindo apenas o BMP (U+0000–U+FFFF). Predecessor do UTF-16 que não pode representar …

UTF-16

Codificação Unicode de comprimento variável usando 2 ou 4 bytes (1 ou 2 unidades de código de 16 bits). Utilizada …

UTF-32

Codificação Unicode de comprimento fixo usando exatamente 4 bytes por caractere. Simples, mas ineficiente em espaço; utilizada internamente pelo Python …

UTF-8

Codificação Unicode de comprimento variável usando de 1 a 4 bytes por caractere. É a codificação dominante na web (mais …

Windows-1252

Superconjunto da ISO 8859-1 da Microsoft, adicionando aspas tipográficas, travessão e sinal do euro no intervalo 0x80–0x9F. A codificação legada …

Padrão Unicode (25)

Basic Multilingual Plane (BMP)

Plano 0 (U+0000–U+FFFF), contendo os caracteres mais usados, incluindo latino, grego, cirílico, CJK, árabe e a maioria dos símbolos. Os …

Caractere abstrato

Unidade de informação usada para organizar, controlar ou representar dados textuais — a entidade conceitual antes de receber um ponto …

Caractere atribuído

Ponto de código ao qual foi atribuída uma designação de caractere em uma versão do Unicode. A partir do Unicode …

CJK

Chinês, Japonês e Coreano — o termo coletivo para o bloco de ideogramas Han unificados e escritas relacionadas no Unicode. …

Consórcio Unicode

Organização sem fins lucrativos que desenvolve e mantém o Padrão Unicode. Os membros incluem Apple, Google, Microsoft, Meta e muitas …

Espaço de código

O intervalo completo de possíveis pontos de código Unicode: U+0000 a U+10FFFF (1.114.112 no total), dividido em 17 planos de …

Han Unification

The process of mapping Chinese, Japanese, and Korean ideographs that share a common historical origin to a single Unicode code …

Hangul Jamo

The individual consonant and vowel components (jamo) of the Korean Hangul writing system. Unicode encodes both precomposed Hangul syllables (U+AC00–U+D7A3) …

ISO 10646 / Universal Character Set

Norma internacional (ISO/IEC 10646) sincronizada com o Unicode, definindo o mesmo repertório de caracteres e pontos de código, mas sem …

Não-caractere

Pontos de código permanentemente reservados para uso interno (66 no total): U+FDD0–U+FDEF e U+nFFFE/U+nFFFF para cada plano. Válidos em texto, …

Plano

Um bloco contíguo de 65.536 pontos de código. O Unicode tem 17 planos (0–16): o Plano 0 é o BMP, …

Plano suplementar

Planos 1–16 (U+10000–U+10FFFF), contendo emoji, escritas históricas, extensões CJK e notação musical. Requer pares substitutos em UTF-16.

Política de estabilidade Unicode

Garantia de que, uma vez atribuído um caractere, seu ponto de código e nome nunca mudam. As propriedades podem ser …

Ponto de código

Valor numérico no espaço de código Unicode (U+0000 a U+10FFFF), escrito como U+XXXX. Nem todos os pontos de código são …

Ponto de código não atribuído

Ponto de código ainda não atribuído a um caractere em nenhuma versão do Unicode, categorizado como Cn (Não atribuído). Pode …

Ponto de código reservado

Ponto de código reservado para futura padronização, distinto dos não-caracteres (permanentemente reservados) e das áreas de uso privado (atribuíveis pelo …

Substituto

Pontos de código U+D800–U+DFFF reservados exclusivamente para pares substitutos em UTF-16. Não são valores escalares Unicode válidos e nunca devem …

Unicode

Padrão universal de codificação de caracteres que atribui um número único (ponto de código) a cada caractere em todos os …

Unicode Character Database (UCD)

Coleção de arquivos de dados legíveis por máquina que define todas as propriedades dos caracteres Unicode, incluindo UnicodeData.txt, Blocks.txt, Scripts.txt …

Unicode Standard Annex (UAX)

Normative or informative documents that are integral parts of the Unicode Standard. UAX#9 (Bidi Algorithm), UAX#11 (East Asian Width), UAX#15 …

Unicode Technical Report (UTR)

Informational documents published by the Unicode Consortium covering specific topics like security mechanisms (UTR#39), text segmentation (UTR#29), and line breaking …

Unidade de código

A unidade mínima de codificação: um byte de 8 bits em UTF-8, uma palavra de 16 bits em UTF-16, uma …

Valor escalar Unicode

Qualquer ponto de código exceto os substitutos (U+D800–U+DFFF). O conjunto válido de valores que podem representar caracteres reais, totalizando 1.112.064.

Versão Unicode

Versões principais do Padrão Unicode, cada uma adicionando novos caracteres, escritas e recursos. A versão atual é Unicode 16.0 (setembro …

Área de uso privado

Intervalos reservados onde organizações podem atribuir seus próprios caracteres: PUA do BMP (U+E000–U+F8FF) mais PUAs suplementares nos Planos 15 e …

Propriedades (19)

Alias de nome

Nomes alternativos para caracteres, pois os nomes Unicode não podem mudar conforme a política de estabilidade. Usados para correções, abreviações …

Bloco

Intervalo contíguo nomeado de pontos de código (por exemplo, Basic Latin = U+0000–U+007F). O Unicode 16.0 define 336 blocos; cada …

Categoria bidirecional

Propriedade que determina como um caractere se comporta em texto bidirecional (LTR, RTL, fraco, neutro). Utilizada pelo Algoritmo Bidirecional Unicode …

Categoria geral

Classificação de cada ponto de código em uma das 30 categorias (Lu, Ll, Nd, So, etc.) agrupadas em 7 classes …

Classe de combinação

Valor numérico (0–254) que controla a ordenação de marcas de combinação durante a decomposição canônica, determinando quais marcas de combinação …

Decomposição

O mapeamento de um caractere para suas partes componentes. A decomposição canônica preserva o significado (é → e + ́); …

East Asian Width

Unicode property (UAX#11) classifying characters as Narrow, Wide, Fullwidth, Halfwidth, Ambiguous, or Neutral. Wide characters (CJK ideographs, katakana) occupy two …

Equivalência canônica

Duas sequências de caracteres que são semanticamente idênticas e devem ser tratadas como iguais. Exemplo: é (U+00E9) ≡ e + …

Equivalência de compatibilidade

Duas sequências de caracteres com o mesmo conteúdo abstrato que podem diferir na aparência. Mais amplo que a equivalência canônica. …

Grupo de grafemas

O "caractere" percebido pelo usuário — o que parece uma única unidade. Pode consistir em vários pontos de código (base …

Ignorável por padrão

Caracteres que não devem ter nenhum efeito visível e podem ser ignorados por processos que não os suportam, incluindo seletores …

Joining Type

Unicode property controlling how Arabic and Syriac characters connect to adjacent characters. Types include Right_Joining, Left_Joining, Dual_Joining, and Non_Joining.

Mapeamento de maiúsculas/minúsculas

Regras para converter caracteres entre maiúsculas, minúsculas e título. Pode depender do idioma (problema do I turco) e ser de …

Pontuação

Caracteres usados para organizar e clarificar a linguagem escrita: pontos, vírgulas, traços, aspas e mais. A Categoria Geral P do …

Propriedade de versão

A versão do Unicode na qual um caractere foi atribuído pela primeira vez. Útil para determinar a compatibilidade do caractere …

Propriedade espelhada

Caracteres cujo glifo deve ser espelhado horizontalmente em contexto RTL. Exemplos: ( → ), [ → ], { → }, …

Script Extensions

Unicode property listing all scripts that use a character, broader than the single-valued Script property. Common characters like digits have …

Sistema de escrita

O sistema de escrita ao qual um caractere pertence (por exemplo, Latin, Cyrillic, Han). O Unicode 16.0 define 168 scripts; …

Valor numérico

A interpretação numérica de um caractere, se existir: valor de dígito (0–9), valor decimal ou valor numérico geral (por exemplo, …

Algoritmos (15)

Algoritmo bidirecional

Algoritmo que determina a ordem de exibição dos caracteres em texto com direção mista (por exemplo, inglês + árabe), usando …

Algoritmo de ordenação

Algoritmo padrão para comparar e ordenar strings Unicode usando comparação em múltiplos níveis: caractere base → acentos → caixa → …

Algoritmo de quebra de linha

Regras para determinar onde o texto pode quebrar para a próxima linha, considerando propriedades dos caracteres, limites de palavras CJK …

Case Folding

Mapping characters to a common case form for case-insensitive comparison. More comprehensive than lowercasing: German ß → ss, Turkish İ …

Exclusão de composição

Caracteres excluídos da composição canônica (NFC) para evitar a decomposição de não-iniciadores e garantir estabilidade algorítmica. Listados em CompositionExclusions.txt.

Grapheme Cluster Boundary

Rules (UAX#29) for determining where one user-perceived character ends and another begins. Critical for cursor movement, text selection, and correctly …

Limite de frase

A posição entre sentenças conforme as regras do Unicode. Mais complexo do que simplesmente dividir por pontos — trata abreviações …

Limite de palavra

A posição entre palavras determinada pelas regras de quebra de palavras do Unicode. Não é uma simples divisão por espaços …

NFC (Canonical Composition)

Forma de Normalização C: decompor e depois recompor canonicamente, produzindo a forma mais curta. Recomendada para armazenamento e intercâmbio de …

NFD (Canonical Decomposition)

Forma de Normalização D: decomposição completa sem recomposição. Usada pelo sistema de arquivos HFS+ do macOS. é (U+00E9) → e …

NFKC (Compatibility Composition)

Forma de Normalização KC: decomposição de compatibilidade seguida de composição canônica. Mescla caracteres visualmente similares (fi→fi, ²→2, Ⅳ→IV). Usada para …

NFKD (Compatibility Decomposition)

Forma de Normalização KD: decomposição de compatibilidade sem recomposição. A normalização mais agressiva, perdendo a maior quantidade de informações de …

Normalização

Processo de converter texto Unicode para uma forma canônica padrão. Quatro formas: NFC (composta), NFD (decomposta), NFKC (compatibilidade composta), NFKD …

Segmentação de texto

Algoritmos para encontrar limites no texto: limites de cluster de grafemas, palavras e sentenças. Essencial para movimentação do cursor, seleção …

String Comparison

Comparing Unicode strings requires normalization (NFC/NFD) and optionally collation (locale-aware sorting). Binary comparison of code points alone gives incorrect results …

Tipografia (19)

Aspas

Sinais de pontuação emparelhados que encerram discurso direto ou citações. O Unicode inclui aspas retas (""), tipográficas (""), guillemets (« …

Caractere de combinação

Um caractere que se anexa ao caractere base anterior para modificá-lo. Categoria geral: Mn (sem espaçamento), Mc (combinação com espaçamento), …

Caractere de espaço em branco

Caracteres que representam espaço horizontal ou vertical, mas não têm glifo visível. O Unicode define mais de 17 caracteres de …

Caractere de largura zero

Caracteres com largura de avanço zero — invisíveis na renderização, mas que afetam o comportamento do texto. Inclui ZWSP (quebra …

CSS unicode-range

CSS @font-face descriptor specifying which Unicode code points a font should cover. Enables downloading only the font subset needed for …

Em / En (Unidades tipográficas)

Em: uma largura igual ao tamanho da fonte. En: metade de um em. Usados para definir a largura do travessão, …

Espaço não separável

U+00A0. Um espaço que impede a quebra de linha em sua posição. HTML:  . Usado entre números e unidades (100 …

Font Fallback

The mechanism by which a rendering engine substitutes glyphs from a secondary font when the primary font lacks coverage for …

Fonte tipográfica

Uma implementação específica de um tipo de letra em um tamanho, peso e estilo particulares. Na tipografia digital, um arquivo …

Glifo

A representação visual de um caractere conforme renderizado por uma fonte. Um caractere pode ter múltiplos glifos (ligaduras, formas contextuais); …

Kerning

Ajuste do espaçamento entre pares de caracteres específicos para harmonia visual (p. ex., AV, To, LT). É uma característica tipográfica, …

Ligadura

Dois ou mais caracteres unidos em um único glifo. Pode ser tipográfica (fi → fi via OpenType) ou um caractere …

OpenType

Modern font format developed by Microsoft and Adobe supporting up to 65,535 glyphs, advanced typographic features (ligatures, alternates, kerning), and …

Reticências

U+2026 RETICÊNCIAS HORIZONTAIS (…). Um único caractere que substitui três pontos, tipograficamente correto e contando como 1 caractere em vez …

RTL (Right-to-Left)

Direcionalidade do texto onde os caracteres fluem da direita para a esquerda. Usada pelo árabe, hebraico, Thaana e outros alfabetos; …

Sinal diacrítico

Uma marca adicionada a uma letra para alterar sua pronúncia ou significado. Pode ser pré-composta (é U+00E9) ou combinada (e …

Travessão

Sinais de pontuação usados para separar partes de uma frase ou indicar intervalos. O Unicode define múltiplos traços: hífen (‐), …

Versalete

Formas de letras maiúsculas na altura das letras minúsculas. CSS: font-variant: small-caps. O Unicode também possui letras maiúsculas pequenas reais …

Web Fonts

Fonts downloaded by the browser to render text, declared via CSS @font-face. WOFF2 is the standard format. Unicode subsetting and …

Métodos de entrada (9)

Web e HTML (16)

Apresentação de emoji

Renderização de um caractere com um glifo de emoji colorido, normalmente usando o Seletor de Variação 16 (U+FE0F). Alguns caracteres …

Apresentação de texto

Renderização de um caractere com um glifo de texto monocromático simples em vez de um emoji colorido, normalmente usando o …

Codificação percentual (codificação de URL)

Codificação de caracteres não ASCII e reservados em URLs substituindo cada byte por %XX. O UTF-8 é usado primeiro, depois …

Conjunto de caracteres Content-Type

Parâmetro de cabeçalho HTTP que declara a codificação de caracteres de uma resposta (Content-Type: text/html; charset=utf-8). Substitui qualquer declaração de …

CSS Text Direction

CSS properties (direction, writing-mode, unicode-bidi) controlling text layout direction. Works with Unicode Bidi Algorithm for mixed LTR/RTL content in web …

Entidade HTML

Uma representação textual de um caractere em HTML. Três formas: por nome (&), decimal (&) e hexadecimal (&). Essencial para …

Internationalized Domain Name (IDN)

Nomes de domínio contendo caracteres Unicode não ASCII, armazenados internamente como Punycode (xn--...) mas exibidos em Unicode aos usuários. Risco …

JavaScript Intl API

ECMAScript Internationalization API providing locale-aware string comparison (Collator), number formatting (NumberFormat), date formatting (DateTimeFormat), and segmentation (Segmenter).

Juntor de palavras

U+2060. Um caractere de largura zero que impede a quebra de linha. O substituto moderno de U+FEFF (BOM) como espaço …

Propriedade CSS content

Propriedade CSS que insere conteúdo gerado via pseudo-elementos ::before e ::after usando escapes Unicode: content: "\2713" insere ✓.

Punycode

Codificação compatível com ASCII de nomes de domínio Unicode, convertendo rótulos internacionalizados em cadeias ASCII com prefixo xn--. münchen.de → …

Referência de caractere nomeada

Entidade HTML que usa um nome legível por humanos: © → ©, — → —. O HTML5 define 2.231 referências …

Referência de caractere numérica

Entidade HTML que usa o número do ponto de código Unicode: decimal (© → ©) ou hexadecimal (© → ©). …

Referência de caractere XML

A versão XML das referências de caracteres numéricas: ✓ ou ✓. O XML possui apenas 5 entidades nomeadas (& < …

Seletor de variação

Caracteres (U+FE00–U+FE0F, U+E0100–U+E01EF) que selecionam uma variante específica de glifo. VS15 (U+FE0E) = apresentação de texto, VS16 (U+FE0F) = apresentação …

Unicode in CSS

CSS supports Unicode via escape sequences (\2713 for ✓), the content property for generated text, unicode-range for font subsetting, and …

Programação e desenvolvimento (13)

Ambiguidade de comprimento de string

O "comprimento" de uma string Unicode depende da unidade: unidades de código (JavaScript .length), pontos de código (Python len()), ou …

Cadeia de caracteres

Uma sequência de caracteres em uma linguagem de programação. A representação interna varia: UTF-8 (Go, Rust, versões mais recentes do …

Caractere de substituição

U+FFFD (�). Exibido quando um decodificador encontra sequências de bytes inválidas — o símbolo universal de 'algo deu errado na …

Caractere invisível

Qualquer caractere sem glifo visível: espaço em branco, caracteres de largura zero, caracteres de controle e caracteres de formatação. Pode …

Caractere nulo

U+0000 (NUL). O primeiro caractere Unicode/ASCII, usado como terminador de string em C/C++. Risco de segurança: a injeção de byte …

Codificação / Decodificação

A codificação converte caracteres em bytes (str.encode('utf-8')); a decodificação converte bytes em caracteres (bytes.decode('utf-8')). Fazer isso corretamente previne o mojibake.

Expressão regular Unicode

Padrões de regex usando propriedades Unicode: \p{L} (qualquer letra), \p{Script=Greek} (escrita grega), \p{Emoji}. O suporte varia por linguagem e motor …

Java Unicode

Java strings use UTF-16 internally. char is 16-bit (only BMP). For supplementary characters, use codePointAt() and Character.toChars(). Java's \uXXXX escapes …

Mojibake

Texto ilegível resultante da decodificação de bytes com a codificação errada. Termo japonês (文字化け). Exemplo: 'café' armazenado como UTF-8 mas …

Par substituto

Duas unidades de código de 16 bits (um substituto alto U+D800–U+DBFF + substituto baixo U+DC00–U+DFFF) que juntas codificam um caractere …

Python Unicode

Python 3 uses Unicode strings by default (str = UTF-8 internally via PEP 393). Key features: \N{name} escapes, unicodedata module, …

Rust Unicode

Rust strings (str/String) are guaranteed valid UTF-8. char type represents a Unicode scalar value (4 bytes). Iteration via .chars() yields …

Sequência de escape Unicode

Sintaxe para representar caracteres Unicode no código-fonte. Varia por linguagem: \u2713 (Python/Java/JS), \u{2713} (JS/Ruby/Rust), \U00012345 (Python/C).

Segurança (10)

Ataque de substituição bidirecional

Uso de caracteres de substituição bidirecional Unicode (U+202A–U+202E, U+2066–U+2069) para disfarçar nomes de arquivos ou código malicioso. 'readme‮fdp.exe' é exibido …

Ataque homográfico IDN

Uso de caracteres Unicode visualmente semelhantes em nomes de domínio para se passar por sites legítimos. аpple.com (а cirílico) parece …

Bidi Text Attack

Exploiting Unicode bidirectional control characters to disguise malicious code or filenames. The 'Trojan Source' attack (CVE-2021-42574) uses bidi overrides to …

Caractere confundível

O termo oficial Unicode para pares de caracteres que podem ser confundidos visualmente, definidos em confusables.txt (UCD). Mais amplo que …

Detecção de scripts mistos

Identificação de texto que mistura caracteres de diferentes escritas (p. ex., Latino + Cirílico). Principal defesa contra ataques homográficos; os …

Homoglifo

Caracteres de diferentes escritas que parecem idênticos ou muito semelhantes, como 'a' latino e 'а' cirílico. Usados em ataques de …

Normalization Attack

Exploiting Unicode normalization to bypass security filters. Input validated before normalization may change form after: 'fi' (U+FB01) normalizes to 'fi', …

Spoofing Unicode

Uso de recursos Unicode para enganar usuários: homoglifos para domínios falsos, substituições bidi para extensões de arquivo falsas, ou caracteres …

Zero Width Joiner (ZWJ)

U+200D. Solicita que os caracteres adjacentes sejam unidos. Essencial para sequências de emoji (👩+ZWJ+💻=👩‍💻). Em scripts índicos, solicita a formação …

Zero Width Non-Joiner (ZWNJ)

U+200C. Impede a junção de caracteres adjacentes. Essencial em persa/árabe para as formas corretas das letras e usado em Devanagari …

Emoji (6)

Miscelânea (1)