Properti versi
Embed This Widget
Add the script tag and a data attribute to embed this widget.
Embed via iframe for maximum compatibility.
<iframe src="https://unicodefyi.com/iframe/glossary/age-property/" width="420" height="400" frameborder="0" style="border:0;border-radius:10px;max-width:100%" loading="lazy"></iframe>
Paste this URL in WordPress, Medium, or any oEmbed-compatible platform.
https://unicodefyi.com/glossary/age-property/
Add a dynamic SVG badge to your README or docs.
[](https://unicodefyi.com/glossary/age-property/)
Use the native HTML custom element.
Versi Unicode di mana karakter pertama kali ditetapkan. Berguna untuk menentukan dukungan karakter di berbagai sistem dan versi perangkat lunak.
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 |
Istilah Terkait
Lainnya di Properti
Nama alternatif untuk karakter, karena nama Unicode tidak dapat diubah sesuai kebijakan …
Rentang titik kode berurutan yang dinamai (misalnya, Basic Latin = U+0000–U+007F). Unicode …
Karakter yang tidak memiliki efek visual dan dapat diabaikan oleh proses yang …
Pemetaan karakter ke bagian-bagian komponennya. Dekomposisi kanonik mempertahankan makna (é → e …
Unicode property (UAX#11) classifying characters as Narrow, Wide, Fullwidth, Halfwidth, Ambiguous, or …
Unicode property controlling how Arabic and Syriac characters connect to adjacent characters. …
Properti yang menentukan bagaimana karakter berperilaku dalam teks dua arah (LTR, RTL, …
Klasifikasi setiap titik kode ke dalam salah satu dari 30 kategori (Lu, …
Nilai numerik (0–254) yang mengontrol pengurutan tanda penggabung selama dekomposisi kanonik, menentukan …
Dua urutan karakter yang secara semantik identik dan harus diperlakukan sama. Contoh: …