other languages
other sections
UNICODE(7) | Linux Programmer's Manual | UNICODE(7) |
NAME¶
Unicode - 16 位统一超级字符集描述 (DESCRIPTION)¶
国际标准 ISO 10646 定义了 通用字符集 (Universal Character Set, UCS). UCS 包含所有别的字符集标准里的字符,并且保证了 互换兼容性 (round-trip compatibility), 也就是说,当一个字符串在 UCS 和任何别的字符集之间转换时, 转换表可以保证不会有信息丢失现象发生.组合字符 (COMBINING CHARACTERS)¶
一些 UCS 编码被分配给了 组合字符(combining characters). 这样的情形有点类似于打字机上的重音键. 一个组合字符只是 给前面的字符添加一个重音. 在 UCS 里最重要的重音字符都有他们自己的编码, 不过, 组合字符机制允许给任一字符添加重音和其他的可识别记号. 组合字符总是跟在那些他们所修饰的字符后面. 例如,德语符号 Umlaut-A (带分音符的大写拉丁字母 A)既可以表示为 UCS 编码 0x00c4, 也可以 用一个正常的"大写拉丁字母 A"后面跟一个"组合分音符号": 0x0041 0x0308 来表示.实现级别 (IMPLEMENTATION LEVELS)¶
由于不是所有系统都支持象组合字符这样的高级机制, ISO 10646 指明了 UCS 的三种实现级别:- 级别 1 (Level 1)
- 不支持组合字符和 Hangul Jamo 字符(朝鲜语的一种更复 杂的专用的编码, Hangul 音节编码成两或三个亚字符).
- 级别 2 (Level 2)
- 类似于级别1, 却在一些语言里面也支持一些组合字符. (比如. Hebrew, Arabic, Devangari, Bengali, Gurmukhi, Gujarati, Oriya, Tamil, Telugo, Kannada, Malayalam, Thai 和 Lao).
- 级别 3 (Level 3)
- 支持所有 UCS 字符.
LINUX 下的 UNICODE (UNICODE UNDER LINUX)¶
在 Linux 下, 为了降低组合字符的实现复杂性, 目前只包括了执 行级别 1 下的 BMP. 更高的执行级别更适合于专门的字处理格式, 而不是一个普通的系统字符集. 在 linux 下 C 的类型 wchar_t 是一个 有符号位的 32 位整型并且其值解释为 UCS4 编码.私有区 (PRIVATE AREA)¶
在 BMP 里, 0xe000 到 0xf8ff 的范围被标准保留做私用因而永远不会 被分配给任何字符. 对于 Linux 社区, 该私有区被再细分为可以被任何终端用户 独立使用的 0xe000 到 0xefff 的范围, 以及从 0xf000 到 0xf8ff 给所有 linux 用户所共用的 linux 区.H. Peter Anvin(<Peter.Anvin@linux.org>, Yggdrasil Computing,Inc) 现在维护登记分配到 linux 区的字符. 该区包括一些 Unicode 中缺少的 DEC VT100 的图形字符, 这使控制台 的字体缓冲区可以直接获得这些字符, 该区还包括一些象 Klingon 这样的古老语言所使用的字符.文献 (LITERATURE)¶
- *
- Information technology - Universal Multiple-Octet Coded
Character Set (UCS) - Part 1: Architecture and Basic Multilingual Plane.
International Standard ISO 10646-1, International Organization for
Standardization, Geneva, 1993.
- *
- The Unicode Standard - Worldwide Character Encoding Version
1.0. The Unicode Consortium, Addison-Wesley, Reading, MA, 1991.
- *
- S. Harbison, G. Steele. C - A Reference Manual. Fourth
edition, Prentice Hall, Englewood Cliffs, 1995, ISBN 0-13-326224-3.
缺憾 (BUGS)¶
在写这个手册页的时候,linux 对 UCS 的 C 语言库支持远未完成.作者 (AUTHOR)¶
Markus Kuhn <mskuhn@cip.informatik.uni-erlangen.de>又见(SEE ALSO)¶
utf-8(7), http://www.linuxforum.net/books/UTF-8-Unicode.html[中文版维护人]¶
mapping <mapping@263.net>[中文版最新更新]¶
2000/11/06《中国linux论坛man手册页翻译计划》:¶
http://cmpp.linuxforum.net1995-12-27 | Linux |