中文GB18030代码集与Unicode有何不同?
处理GB18030需要哪些特殊技术?
是否有用于处理GB18030的(开源)库?
根据维基百科关于GB18030的文章,"GB18030可以被认为是Unicode转换格式(即所有Unicode代码点的编码),可以保持与传统字符集的兼容性." 也就是说,所有Unicode字符都可以在GB18030中编码,但它们将使用与使用UTF-8或UTF-16生成的字节序列不同的字节序列进行编码.处理GB18030编码不需要任何比任何其他非Unicode编码所需的更多特殊技术.
在ICU项目是一个开源库(用于C或Java),有许多不同的编码,包括GB18030全力支持.可以在此处找到有关使用ICU在不同编码之间进行转换的信息.
处理GB18030需要哪些特殊技术?
需要注意的最重要的是,与UTF-8不同,GB18030允许在多字节字符的编码中出现ASCII字节.(例如,'ß'被编码为字节81 30 89 38,其中包含ASCII编码'0'和'8'.)这意味着您不能使用简单的面向字节的find
/ index
函数.