中文GB18030代码集与Unicode有何不同?
处理GB18030需要哪些特殊技术?
是否有用于处理GB18030的(开源)库?
答案 0 :(得分:14)
根据Wikipedia article on GB18030,“GB18030可被视为Unicode转换格式(即所有Unicode代码点的编码),可保持与传统字符集的兼容性。”也就是说,所有Unicode字符都可以在GB18030中编码,但它们将使用与使用UTF-8或UTF-16生成的字节序列不同的字节序列进行编码。处理GB18030编码不需要任何比任何其他非Unicode编码所需的更多特殊技术。
ICU project是一个开源库(用于C或Java),完全支持许多不同的编码,包括GB18030。有关使用ICU在不同编码之间进行转换的信息可以在here找到。
答案 1 :(得分:12)
处理GB18030需要哪些特殊技术?
最值得注意的是,与UTF-8不同,GB18030允许在多字节字符的编码中出现ASCII字节。 (例如,'ß'被编码为字节81 30 89 38 ,其中包含ASCII编码'0'和'8'。)这意味着你不能使用简单的面向字节的find
/ index
函数。