CJK (中日韩统一表意文字)
在 Unicode 中统一处理中文、日文、韩文共用汉字的体系,即 CJK Unified Ideographs。
CJK 是 Chinese (中文)、Japanese (日文)、Korean (韩文) 的首字母缩写,指这三种语言共用的表意文字体系。在 Unicode 中,它们被分配为 CJK 统一表意文字,基本多语言平面 (BMP) 的 U+4E00 到 U+9FFF 收录了约 20,000 个字符,加上扩展区域共计超过 90,000 个字符。
汉字统一 (Han Unification) 是 CJK 在 Unicode 中的核心设计原则。简体中文、繁体中文、日本汉字和韩国汉字中具有相同历史起源的字符被分配相同的码位。例如"直"字在中日韩三国的字形略有不同,但在 Unicode 中都是 U+76F4。由于显示的字形取决于字体,因此准确指定 HTML 的 lang 属性让浏览器选择合适的字体至关重要。探索内裤 (Amazon)解释了这一体系。
CJK 字符以全角宽度显示,在 UTF-8 中每个字符占 3 字节,在 UTF-16 中占 2 字节 (BMP 内)。同样 100 个字符的文本,英文 (ASCII) 为 100 字节,中文则为 300 字节 (UTF-8),字符数与字节数之间存在很大差异。数据库容量规划和网络带宽估算必须考虑这一差异。
CJK 文本的一大特征是词与词之间没有空格。英文使用空格作为单词分隔符,而中文和日文没有这样的分隔符。因此,搜索引擎索引构建、文本换行处理和词数统计需要使用形态素分析 (如日文的 MeCab) 或 N-gram 方法。
汉字统一也面临一些批评。日文的"骨"和中文的"骨"字形不同,却被分配了相同的码位。要在同一文档中使用不同的字形,需要通过 CSS 的 font-family 或字体特性设置来控制。Unicode 的 IVS (表意文字变体序列) 部分解决了这个问题。
从字符计数角度看,CJK 字符每个字符承载的信息量更大,表达相同内容所需的字符数比英文少。在有字符限制的社交媒体上,CJK 语言用户比英文用户能在一条帖子中传达更多信息。查看梦魇 (Amazon)介绍了语言特有的挑战和解决方案。