ISO 10646 / 通用字符集
与Unicode同步的国际标准(ISO/IEC 10646),定义相同的字符集和码位,但不包含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 标准 中的更多内容
中日韩——Unicode中统一汉字区块及相关文字系统的统称,CJK统一表意文字包含20,992个以上字符。
The process of mapping Chinese, Japanese, and Korean ideographs that share a …
The individual consonant and vowel components (jamo) of the Korean Hangul writing …
为每种书写系统中的每个字符分配唯一编号(码位)的通用字符编码标准,16.0版本包含154,998个已分配字符。
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字符属性的机器可读数据文件集合,包括UnicodeData.txt、Blocks.txt、Scripts.txt等。
除代理码位(U+D800–U+DFFF)之外的所有码位,是可表示实际字符的有效值集合,共1,112,064个。
Unicode标准的主要版本,每次发布均新增字符、文字系统和功能,当前版本为Unicode 16.0(2025年9月)。
保证字符一旦分配,其码位和名称永不更改的策略。属性可以精化,但分配是永久性的。