gb2312 是微软 DOS, Windows3.1, 3.2 中使用,但不是中国国家标准,好象是哪一个部委的标准。GBK(汉字大字库) 是中国国家标准,在Windows 95 ,Windows NT4或者以上中使用。最新的中国国家标准是GB18030,微软网站可以免费下载GB18030支持补丁。因为GB18030是中国国家标准,Windows 2000当时不支持,差一点不能在中国卖,后来不知道通过什么后台交易搞定。
unicode是国际标准,当前最新为unicode3.0。unicode 包含各国语言,其中中国字符的编码由中国负责。
前一阵子,国内有人提出以后不再搞国家汉字标准了,因为国家汉字标准、unicode汉字标准以及两者之间的转换都是中国做,重复劳动!!但是后来不了了之。
如果全世界统一用unicode,对于大家都好,就象米制单位一样,统一了最好。对于程序员,对于整个软件行业,都省了不少事。

解决方案 »

  1.   

    看了楼上的解释,明白了不少
    前段时间好像还看到过一篇抵制unicode的文章
    真不知道这些人吃饱了都干些啥
      

  2.   

    unicode不是光为中文而设计的。
      

  3.   

    unicode不是光为中文而设计的,比如日文等也是双字节的;所以并不是所有的双字节都是用来中文汉字编码的.国际标准组织只是把其中的一部分返回分给中文而已.
      

  4.   

    GB2312 从 ASCII 码发展而来,GB码两个字节的最高位置1以示区别,因而GB2312容量并没有想象的那么多,实际上当时只把最常用的汉字编了码。
    GB18030是中国做的,当时想法是把所有的汉字统一编码,但是 GB2312,GBK,GB18030编码并不科学,在亚洲地区其它国家广受抵制。
    最有前途的是UNICODE,我个人看好UCS-2,UCS-4。UNICODE 编码比较科学,对于软件业来说,实现更加容易。
    国内也曾出现过反对UNICODE的意见,主要是,现在UNICODE 编码中汉字部分由中国处理,如果以后不让中国搞了,怎么办?这种可能性很小,但总归是一种风险。再说了,中国往UNICODE中加入那么多的汉字,而且没完没了地往里面加,从来就没有一个终点,让老外很烦。
      

  5.   

    UCS-2,UCS-4是不是分别的用两个字节和四个字节表示的意思,而UTF-8是一种紧缩的编码方式
      

  6.   

    UCS-2,UCS-4是不是分别指的以两个,四个字节进行编码,那utf是一种紧缩型编码吗?
      

  7.   

    一般来说,UCS-2,UCS-4分别指的以两个,四个字节进行编码,UCS-2 可以通过代理对来编码其余的UCS-4字符。
    UCS-2 在 Windows NT4.0 , Visual Basic 4.0 开始在 Windows 领域广泛流行,并且领先于其他操作系统,Microsoft 卖力地推 Unicode 因为 Windows 对于 Unicode 的支持比别人要好。
    Unix/Linux 使用UCS-2,UCS-4会有问题,除非统一修改内核。通常 Unix/Linux 支持 Unicode 的一种变体 utf-8 。从编码方式上,utf-8也很烂,大概只比 gb2312 好一点。但是因为 Unix/Linux 只能支持它,所以 Ansi C++/Java 中多语言程序一般都是用 utf-8。Visual C++ 中的 wide char 好像是UCS-2(不确定)。Redhat Linux 9 中的 gedit 支持utf-8, 但是 vi 不支持。Linux 下面大多数 application 不支持 utf-8,因为 Unix/Linux 操作系统本身对于 utf-8 支持就不是内核级的,所谓的改造 Unix/Linux 支持utf-8 更多的是逐个 application 的改造。
    不同编码的 Unicode 文件都有不同的文件头,Windows 对于Unicode 文件头格式的支持比 Unix/Linux 好很多。