ISO 10646 / Universal Character Set
Международный стандарт (ISO/IEC 10646), синхронизированный с Unicode, определяющий тот же репертуар символов и code points, но без дополнительных алгоритмов и свойств Unicode.
What is ISO/IEC 10646?
ISO/IEC 10646 is the international standard that defines the Universal Coded Character Set (UCS) — a character repertoire and encoding architecture developed jointly by ISO (International Organization for Standardization) and IEC (International Electrotechnical Commission). It is, in practical terms, the same character set as Unicode.
The two standards are maintained in close synchronization by their respective organizations: the Unicode Consortium and ISO/IEC JTC 1/SC 2/WG 2. Every character assigned a code point in Unicode has the same code point in ISO 10646, and vice versa. The character names and code point values are identical.
History: Parallel Origins
In the late 1980s, two independent efforts began simultaneously:
- Unicode: Led by Xerox and Apple engineers, later formalized as the Unicode Consortium (1991)
- ISO/IEC 10646: ISO's Working Group 2 (WG2) began work on a universal character set in 1984
Both projects recognized the impossibility of two incompatible universal character sets, and in 1991 they agreed to merge their character repertoires. Unicode 1.0 and ISO 10646-1:1993 were aligned at the code point level, and the two organizations have maintained synchronization since.
How They Differ
Despite sharing the same character repertoire, the two standards differ in scope:
| Aspect | Unicode Standard | ISO/IEC 10646 |
|---|---|---|
| Character repertoire | Identical | Identical |
| Character names | Identical | Identical |
| Encoding forms | UTF-8, UTF-16, UTF-32 defined | UCS-2, UCS-4, UTF-8, UTF-16 defined |
| Character properties | Extensive (UCD) | Minimal |
| Algorithms | Bidi, collation, normalization | Not included |
| Emoji specifications | Detailed | Not included |
| Locale data (CLDR) | Via Consortium | Not included |
In practice, ISO 10646 defines "what" (the characters and their code points); the Unicode Standard defines "what and how" (characters plus their properties and processing algorithms). A system claiming ISO 10646 conformance is compatible with Unicode at the character level but may not support Unicode-specific features like bidirectional text rendering.
UCS Encoding Forms
ISO 10646 introduced the terminology UCS (Universal Coded Character Set) and originally defined:
- UCS-2: Fixed 2-byte encoding, BMP-only (no supplementary characters)
- UCS-4: Fixed 4-byte encoding (identical to UTF-32)
UTF-8 and UTF-16 were later incorporated into 10646 as additional encoding forms. UCS-2 is now considered obsolete; UTF-16 supersedes it by adding surrogate pair support for supplementary characters.
Why Both Standards Exist
Both standards exist because of different institutional ecosystems:
- Government procurement: Many national governments require ISO standards for technology purchasing. Having ISO 10646 alignment means Unicode-based software meets ISO compliance requirements.
- Telecommunications: ITU (International Telecommunication Union) references ISO 10646 in protocols like ASN.1 and X.400.
- Industrial standards: Many domain-specific standards (healthcare HL7, automotive AUTOSAR) reference ISO 10646.
For a software developer, the distinction is largely irrelevant — implementing Unicode is implementing ISO 10646, and vice versa.
Common Misconceptions
"ISO 10646 and Unicode are different character sets" — They are the same character set, maintained in sync. Differences are in the supplemental specifications only.
"UCS-2 is the same as UTF-16" — UCS-2 is BMP-only (no surrogate support). UTF-16 extends UCS-2 with surrogate pairs. Legacy systems claiming "UCS-2 support" cannot handle emoji or characters above U+FFFF.
Quick Facts
| Property | Value |
|---|---|
| Full name | ISO/IEC 10646 |
| Also known as | UCS, Universal Coded Character Set |
| Maintained by | ISO/IEC JTC 1/SC 2/WG 2 |
| First edition | ISO 10646-1:1993 |
| Current edition | ISO/IEC 10646:2020 (regularly amended) |
| Character repertoire | Identical to Unicode |
| Encoding forms defined | UTF-8, UTF-16, UTF-32, UCS-4 |
| Synchronization with Unicode | Maintained by both organizations |
Связанные термины
Ещё в Стандарт Unicode
Плоскость 0 (U+0000–U+FFFF), содержащая наиболее употребительные символы, включая латиницу, греческий, кириллицу, CJK, …
Китайский, японский и корейский — собирательный термин для унифицированного блока иероглифов хань …
The process of mapping Chinese, Japanese, and Korean ideographs that share a …
The individual consonant and vowel components (jamo) of the Korean Hangul writing …
Универсальный стандарт кодирования символов, присваивающий уникальный номер (code point) каждому символу во …
Машиночитаемая коллекция файлов данных, определяющих все свойства символов Unicode, включая UnicodeData.txt, Blocks.txt, …
Normative or informative documents that are integral parts of the Unicode Standard. …
Informational documents published by the Unicode Consortium covering specific topics like security …
Единица информации для организации, управления или представления текстовых данных — концептуальная сущность …
Основные выпуски стандарта Unicode, каждый добавляющий новые символы, письменности и функции. Текущая …