NAME
Unicode - 16 位 统 一 超 级 字 符 集
描 述 (DESCRIPTION)
国 际 标 准 ISO 10646 定 义 了 通 用 字 符 集 (Universal Character Set, UCS). UCS 包 含 所 有 别 的 字 符 集 标 准 里 的 字 符 ,并 且 保 证 了 互 换 兼 容 性 (round-trip compatibility), 也 就 是 说 , 当 一 个 字 符 串 在 UCS 和 任 何 别 的 字 符 集 之 间 转 换 时 , 转 换 表 可 以 保 证 不 会 有 信 息 丢 失 现 象 发 生 .
UCS 包 含 了 表 示 几 乎 所 有 已 知 的 语 言 所 必 需 的 字 符 . 该 字 符 集 既 包 括 那 些 使 用 扩 展 拉 丁 语 的 语 言 ,也 包 括 下 面 的 这 些 语 言 : Greek, Cyrillic, Hebrew,Arabic, Armenian, Gregorian, Japanese, Chinese, Hiragana, Katakana, Korean, Hangul, Devangari, Bengali, Gurmukhi, Gujarati, Oriya, Tamil, Telugu, Kannada, alayam, Thai, Lao, Bopomofo,等 等 .而 另 外 的 语 言 ,例 如 Tibetian, Khmer, Runic, Ethiopian, Hieroglyphics, 各 种 Indo-European 语 言 , 还 有 许 多 其 他 的 语 言 , 正 在 被 加 入 其 中 .1993 年 发 布 该 标 准 的 时 候 , 还 不 清 楚 怎 样 才 能 对 后 面 加 入 的 这 些 语 言 中 的 大 部 分 作 更 好 的 编 码 . 另 外 , 这 些 语 言 所 需 的 字 符 , 以 及 由 TeX, PostScript, MS-DOS, Macintosh, Videotext, OCR, 还 有 很 多 字 处 理 系 统 所 提 供 的 大 量 的 图 形 , 印 刷 体 , 数 学 和 科 学 符 号 , 都 已 被 包 括 进 来 , 还 包 括 了 一 些 特 别 编 码 以 保 证 和 所 有 其 它 已 存 在 字 符 集 标 准 的 可 逆 转 换 兼 容 性 .
UCS 标 准 (ISO 10646) 描 述 了 一 个 31 位 字 符 集 的 体 系 , 不 过 , 目 前 只 使 用 了 前 面 65534 个 编 码 位 置 (0x0000-0xfffd, 它 们 被 称 为 基 本 多 语 言 块 (Basic Multilingual Plane,BMP)), 分 配 给 了 字 符 , 而 且 我 们 估 计 只 有 那 些 很 古 怪 的 字 符 (比 如 . Hieroglyphics)为 了 专 门 的 科 学 目 的 , 才 会 在 将 来 的 某 个 时 候 , 需 要 16 位 的 BMP 之 外 的 部 分 . 从 0x0000 到 0x007f 之 间 的 UCS 字 符 和 经 典 US-ASCII 字 符 集 是 一 样 的 , 而 从 0x0000 到 0x00ff 之 间 的 字 符 等 于 ISO 8859-1 Latin-1 字 符 集 .
组 合 字 符 (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
字 符 .
Unicode 协 会 发 布 的 Unicode 1.1 标 准 和 ISO 10646 所 描 述 的 那 样 , 在 第 3 执 行 级 别 只 包 括 了 UCS (基 本 多 语 言 块 Basic Multilingual Plane). Unicode 1.1 还 为 一 些 ISO 10646 的 字 符 定 义 加 入 了 一 些 语 义 定 义 .
LINUX 下 的 UNICODE (UNICODE UNDER LINUX)
在 Linux 下 , 为 了 降 低 组 合 字 符 的 实 现 复 杂 性 , 目 前 只 包 括 了 执 行 级 别 1 下 的 BMP. 更 高 的 执 行 级 别 更 适 合 于 专 门 的 字 处 理 格 式 , 而 不 是 一 个 普 通 的 系 统 字 符 集 . 在 linux 下 C 的 类 型 wchar_t 是 一 个 有 符 号 位 的 32 位 整 型 并 且 其 值 解 释 为 UCS4 编 码 . 本 地 化 设 置 指 明 系 统 字 符 编 码 是 使 用 诸 如 UTF-8 还 是 ISO 8859-1这 样 的 编 码 . 象 库 函 数 wctomb, mbtowc, 或 者 wprintf 就 可 以 用 于 内 部 wchar_t 字 符 及 字 符 串 与 系 统 字 符 编 码 之 间 做 转 换 .
私 有 区 (PRIVATE AREA)
在 BMP 里 , 0xe000 到 0xf8ff 的 范 围 被 标 准 保 留 做 私 用 因 而 永 远 不 会 被 分 配 给 任 何 字 符 . 对 于 Linux 社 区 , 该 私 有 区 被 再 细 分 为 可 以 被 任 何 终 端 用 户 独 立 使 用 的 0xe000 到 0xefff 的 范 围 , 以 及 从 0xf000 到 0xf8ff 给 所 有 linux 用 户 所 共 用 的 linux 区 .H. Peter Anvin(<Peter.Anvin [AT] 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. 这 是 UCS 的 正 式 规 范 , 非 常 正 式 , 也 很 厚 , 还 非 常 贵 . 如 果 要 定 购 信 息 , 去 看 看 www.iso.ch. | ||
* |
The Unicode Standard - Worldwide Character Encoding Version 1.0. The Unicode Consortium, Addison-Wesley, Reading, MA, 1991. |
Unicode 已 经 有 1.1.4 版 可 用 ,与 1.0 版 的 差 别 可 以 在 ftp.unicode.org 找 到 . Unicode 2.0 也 将 在 1996 年 出 版 一 本 书 .
* |
S. Harbison, G. Steele. C - A Reference Manual. Fourth edition, Prentice Hall, Englewood Cliffs, 1995, ISBN 0-13-326224-3. 一 本 很 好 的 C 语 言 编 程 参 考 书 . 现 在 的 第 四 版 包 含 了 1994 年 对 标 准 ISO C 的 第 一 次 修 正 (ISO/IEC 9899:1990), 添 加 了 大 量 处 理 多 种 字 符 集 的 新 的 C 库 函 数 . |
缺 憾 (BUGS)
在 写 这 个 手 册 页 的 时 候 ,linux 对 UCS 的 C 语 言 库 支 持 远 未 完 成 .
作 者 (AUTHOR)
Markus Kuhn <mskuhn [AT] cip.de>
又 见 (SEE ALSO)
utf-8(7), http://www.linuxforum.net/books/UTF-8-Unicode.html
[中 文 版 维 护 人 ]
mapping <mapping [AT] 263.net>
[中 文 版 最 新 更 新 ]
2000/11/06
《 中 国 linux论 坛 man手 册 页 翻 译 计 划 》 :
跋
本 页 面 中 文 版 由 中 文 man 手 册 页 计 划 提 供 。 中 文 man 手 册 页 计 划 : https://github.com/man-pages-zh/manpages-zh