问题
UCS2 easier to use in Visual C++, than UTF encoding. What languages I can not support in UCS2 encoding?
回答1:
Nothing you're likely to care about or, more to the point, have fonts for. UCS2 gives you the Basic Multilingual Plane; you can find overviews of the assigned planes on the Unicode site
- 0 - Basic Multilingual Plane
- 1 - Supplementary Multilingual Plane (ancient symbols, Klingon, etc.)
- 2 - Supplementary Ideagraphic Plane (CJK unified ideographs extensions)
- 3 - Tertiary Ideographic Plane (ancient Chinese characters)
- 14 - Supplementary Special-Purpose Plane (tag characters and variations - ?)
Of course if you really have UTF-16 support then you can access all of these anyway but if you're asking if you can ignore those then, in practice, probably yes.
回答2:
The Unicode.org website includes an index of code blocks in code order from which you can see that as of Unicode 6.0, plane 1 includes:
- Linear B Syllabary
- Linear B Ideograms
- Aegean Numbers
- Old Italic
- Gothic
- Ugaritic
- Deseret
- Shavian
- Osmanya
- Cypriot Syllabary
- Byzantine Musical Symbols
- Musical Symbols
- Tai Xuan Jing Symbols
- Mathematical Alphanumeric Symbols
and plane 2 includes:
- CJK Unified Ideographs Extension B
- CJK Compatibility Ideographs Supplement
- Tags
- Variation Selectors Supplement
来源:https://stackoverflow.com/questions/4267318/ucs2-vs-utf-what-languages-can-not-be-displayed-in-the-ucs2-encoding