속성

나이 속성

문자가 처음 할당된 유니코드 버전. 시스템 및 소프트웨어 버전 간의 문자 지원 여부를 판단하는 데 유용합니다.

· Updated

What Is the Age Property?

The Age property records the Unicode version in which a character was first assigned a code point. This property allows developers and researchers to determine which version of Unicode introduced a particular character—essential for compatibility testing, font planning, and detecting whether a string contains characters newer than a supported Unicode version.

Age values are version strings like 1.1, 2.0, 3.0, ..., 15.1. A code point that has never been assigned has an implied age of Unassigned. The property is immutable: a character's Age never changes once assigned, even if its properties (name, category) are later corrected.

Checking Age in Python

Python's unicodedata module does not expose Age directly, but the unicodedata.unidata_version string tells you which Unicode version the module implements. To check a character's introduction version you can use the unicodedata module's character lookup or a third-party library:

import unicodedata
import sys

# The Unicode version Python's unicodedata module implements
print(unicodedata.unidata_version)   # e.g., "15.1.0"
print(sys.version)

# For Age lookups, use the 'unicodedata2' or 'unicodedataplus' package
# pip install unicodedataplus
try:
    import unicodedataplus as udp
    for char in ["A", "€", "😀", "\U0001F600"]:
        age = udp.age(char)
        name = unicodedata.name(char, "<unnamed>")
        print(f"  U+{ord(char):04X}  Age={age:6}  {name}")
except ImportError:
    print("Install unicodedataplus for Age support")

# U+0041  Age=1.1    LATIN CAPITAL LETTER A
# U+20AC  Age=2.1    EURO SIGN
# U+1F600 Age=6.1    GRINNING FACE

Why Age Matters

Emoji support timelines: Emoji characters have been added across many Unicode versions. Age tells you whether a character requires Unicode 6.0+ (face emoji), 8.0+ (skin tone modifiers), or 13.0+ (newer additions). Mobile operating systems typically lag Unicode releases by 12–24 months.

Legacy system compatibility: A database or file format limited to Unicode 3.0 cannot store CJK Extension B characters (added in 4.1) or any emoji. Age detection lets you validate input against a maximum supported version.

Font auditing: Font engineers use Age to prioritize glyph development—newer characters with high Age values may not yet be covered by commonly deployed fonts.

Notable Age Milestones

Version Year Notable Additions
1.1 1993 Latin, Greek, Cyrillic, CJK core, Hebrew, Arabic
2.1 1998 Euro sign €, many combining marks
4.1 2005 CJK Extension B (42,711 characters)
6.0 2010 Emoji (first large batch, 722 characters)
8.0 2015 Skin tone modifiers
13.0 2020 55 new emoji, Chorasmian, Yezidi scripts
15.1 2023 Latest release

Quick Facts

Property Value
Unicode property name Age
Type Enumerated (version string)
Python built-in No (use unicodedataplus or regex package)
Immutability Age never changes after assignment
Unassigned value Unassigned (implied)
Spec reference Unicode Standard Annex #44, DerivedAge.txt

관련 용어

속성의 더 많은 용어