CJK字符是指中文、日文、韩文等东亚文字的一种统称。CJK字符的特点是字形复杂,有很多笔画,而且其中有很多类似的字形。为了便于处理这些东亚文字,Unicode(标准化的字符编码系统)将CJK字符统一编码为一组字符集,称为CJK统一表意字符集。
在Unicode中,CJK字符占据两个区块,即范围为4E00到9FFF的“CJK基本平面”和范围为3400到4DBF的“CJK扩展A区”,另外还有一些散落在其他区块中。在CJK基本平面中可以找到绝大多数常用的CJK字符,而在CJK扩展A区中则包括了很多生僻的CJK字符。
每个CJK字符在Unicode中都有一个唯一的Code Point(码位),用一个4至6位的十六进制数表示。如下为两条示例:
一 的Code Point为 4E00
龘 的Code Point为 9F98
处理CJK字符的代码和处理非CJK字符的代码有很大的区别,主要体现在字符长度上。CJK字符的长度是2个字节(即16位),而非CJK字符的长度一般只有1个字节(8位)。
在Java中,可以使用char
类型来表示一个字符,但是char
类型只能表示1个字节的字符,为了处理CJK字符,应该使用String
类型,因为String
类型是由多个char
类型组成的。还可以使用CodePoint
类来操作CJK字符,它能够正确处理字符长度为2个字节的情况。
在Python中,字符串类型默认是Unicode编码,所以可以直接处理CJK字符。但是需要注意的是,Python 2.x版本中的字符串类型(str)是默认使用ASCII编码的,需要使用Unicode编码时需要显式地加上“u”前缀。
本文简要介绍了Unicode中的CJK字符,并给出了两个示例。同时,还介绍了在代码中处理CJK字符的一些注意事项,希望对各位开发者能有所帮助。
本文链接:http://task.lmcjl.com/news/10628.html