QQ:41426277的博客

c++,delphi

博客园 首页 新随笔 联系 管理
很多朋友们都为字符编码头痛,特别是搞JAVA这一类的朋友。为什么会有这么多字符编码出现的呢?因为字符编码经历了很多特殊情况。
先说中文字符吧,在80年代很多中国科学家都为在计算机显示中文发愁,外国可以1个字节表示英文符号(也就是ACSII码),那好中国人发明了GBK232码,用两个字节表示,只要电脑安装汉字卡,后来卡都不用安装,装驱动就可以。那这一点的成功,台湾省,日本。。。等都参考这一办法也成功显示了其它文字,如台湾省BIG5编码。GBK232升级为GBK,再升级为GBK18030(四个字节表示)。
微软的WINDOWS就头痛了,这么多的语言版本(当然也有我们的程序员也要开发多语言版本),那又出现Unicode码简称为UCS-2,在这种语言环境下,不会再有语言的编码冲突,在同屏下,可以显示任何语言的内容,这就是Unicode的最大好处。目前已升级到UCS-4。在ASCII转换成UCS-2的时候,只是在编码前插入一个0x0。用这些编码,会包括一些控制符,比如 '' 或 '/',这在UNIX和一些C函数中,将会产生严重错误。因此可以肯定,UCS-2不适合作为Unicode的外部编码。因此,才诞生了UTF-8。
当然还有其它的BASE64、7BIT,Quoted printable等等常见的编码。
posted on 2011-05-22 22:43  41426277  阅读(313)  评论(0)    收藏  举报