- 概念
简单来说,unicode,gb码和大五码就是编码的值,而utf-8,uft-16之类就是这个值的表现形式.而前面那三种编码是不兼容的,同一个汉字,那三个码值是完全不一样的.如"汉"的uncode值与gbk就是不一样的,假设unicode为a040,gbk为b030,而uft-8码,就是把那个值表现的形式.utf-8码完全只针对uncode来组织的,如果GBK要转UTF-8必须先转unicode码,再转utf-8就OK了。
- GBK到Utf-8的转换过程
GBK等都属于GB码值的表现形式
Utf-8等都属于Unicode码值的表现形式
所以如果GBK要转变成utf-8,则首先先将GBK对应的GB码值转换成Unicode码值(这可以通过相关算法和查表来完成),然后将Unicode码值用utf-8编码方式将其编码(最终在内存中的表现方式)。