Carácter asignado
Punto de código al que se le ha asignado un carácter en una versión de Unicode. A partir de Unicode 16.0, hay 154.998 puntos de código asignados de los 1.114.112 posibles.
What is an Assigned Character?
An assigned character is a Unicode code point that has been given a formal designation in the Unicode Standard — it represents a specific character, symbol, or abstract entity with an official name, category, and set of properties. The Unicode Consortium adds new assigned characters in each version of the standard; once a code point is assigned, it is permanently assigned and the assignment is never revoked or changed.
As of Unicode 16.0, approximately 154,998 code points are assigned characters out of the 1,114,112 total code space.
What Makes a Code Point "Assigned"
A code point is assigned when the Unicode Consortium:
- Gives it a normative character name (e.g., LATIN SMALL LETTER A, SNOWMAN, GRINNING FACE)
- Assigns it a General Category (letter, number, punctuation, symbol, etc.)
- Defines its relevant character properties in the Unicode Character Database
The formal assignment appears in UnicodeData.txt — the primary UCD file. Any code point with
an entry in that file (other than range sentinels) is assigned.
Categories of Assigned Characters
Assigned characters are not all printable glyphs. The Unicode Standard assigns code points to:
| Category | Examples | General Category Code |
|---|---|---|
| Letters | A, a, α, あ, 字 | Lu, Ll, Lo... |
| Digits | 0–9, ², ③ | Nd, Nl, No |
| Punctuation | . , ! « » | Po, Ps, Pe... |
| Symbols | €, ©, ★, ☃, 😀 | So, Sm, Sc, Sk |
| Marks | combining acute ◌́ | Mn, Mc, Me |
| Separators | space, line separator | Zs, Zl, Zp |
| Control codes | U+0009 TAB, U+000A LF | Cc |
| Format characters | U+200C ZWNJ, U+FEFF BOM | Cf |
Even control characters like TAB, LF, and NULL (U+0000) are assigned characters — they have
official names and category Cc (Control).
Checking Assignment Status
import unicodedata
def is_assigned(char: str) -> bool:
# Cn = Unassigned; Co = Private Use; Cs = Surrogate
# All other categories indicate assigned characters
cat = unicodedata.category(char)
return cat not in ("Cn",) # Cn = not assigned
# Assigned characters
print(is_assigned("A")) # True — Lu (Uppercase Letter)
print(is_assigned("😀")) # True — So (Other Symbol)
print(is_assigned("\t")) # True — Cc (Control)
print(is_assigned("\uE001")) # True — Co (Private Use — assigned category, user-defined)
# Unassigned
print(is_assigned("\u0378")) # False — Cn (Unassigned)
# Get character name
print(unicodedata.name("A")) # LATIN CAPITAL LETTER A
print(unicodedata.name("😀")) # GRINNING FACE
print(unicodedata.name("\t")) # HORIZONTAL TABULATION
Stability of Assignments
The Unicode Stability Policy guarantees that once a code point is assigned: - Its character name is permanent (corrections become formal aliases, not replacements) - Its General Category will not change in ways that break normalization or sorting - Its decomposition mapping will not change - The code point will never be unassigned or reassigned to a different character
This stability is essential for backward compatibility: text files created with Unicode 1.0 can still be read correctly with Unicode 16.0 implementations.
Growth Over Versions
| Version | Year | Assigned Characters |
|---|---|---|
| 1.0 | 1991 | 7,129 |
| 3.0 | 1999 | 49,194 |
| 5.0 | 2006 | 99,024 |
| 8.0 | 2015 | 120,737 |
| 12.0 | 2019 | 137,994 |
| 15.0 | 2022 | 149,186 |
| 16.0 | 2024 | 154,998 |
Quick Facts
| Property | Value |
|---|---|
| Total assigned (v16.0) | 154,998 |
| Percentage of code space | ~13.9% |
| Earliest assigned | U+0000–U+007F (ASCII, Unicode 1.0) |
| General category for unassigned | Cn |
| Stability guarantee | Never unassigned or reassigned |
| Primary source file | UnicodeData.txt |
| Includes control characters? | Yes (U+0000–U+001F, U+007F, U+0080–U+009F) |
Términos relacionados
Más en Estándar Unicode
Plano 0 (U+0000–U+FFFF), que contiene los caracteres más utilizados: Latin, Griego, Cirílico, …
Unidad de información usada para organizar, controlar o representar datos textuales — …
Chino, Japonés y Coreano — el término colectivo para el bloque de …
Organización sin fines de lucro que desarrolla y mantiene el Estándar Unicode. …
El rango completo de posibles puntos de código Unicode: U+0000 a U+10FFFF …
The process of mapping Chinese, Japanese, and Korean ideographs that share a …
The individual consonant and vowel components (jamo) of the Korean Hangul writing …
Estándar internacional (ISO/IEC 10646) sincronizado con Unicode, que define el mismo repertorio …
Puntos de código reservados permanentemente para uso interno (66 en total): U+FDD0–U+FDEF …
Un bloque contiguo de 65.536 puntos de código. Unicode tiene 17 planos …