为什么不从81开始啊,直接都使用高字节不就行了吗?为什么gb2312第一和第二字节都是从a1开始的呢?而gbk的第二字节从40开始?难道是不够用吗?那又何不从01开始呢?

解决方案 »

  1.   

    这个不知道,只知道gbk 兼容gb2312. gb2312 兼容ascii
      

  2.   

    当80年代中期 PC 大量流入国内时,使用计算机处理中文就成了首要问题
    已是出现了很多种汉字编码方案
    由于当时的机器配置极低(没有硬盘、只有180k软盘。很少有360k软盘)所以国家标准委员会选择了中科院计算机研究所的编码方案(软汉字),定名为 GB2312(第一和第二字节都是从a1开始的)
    与此同时,台湾地区立足硬件汉字编码方案,以后形成软汉字标准Big5
    到了 90 年代,随着国际间交流的增多,中日韩加上台湾地区共同制定了通用的汉字标准 GBK
    他包容了当时三国四方的各自的编码标准,并尽可能的不改变固有习惯
    虽说 GBK 不够国际化,起码也亚洲化了
      

  3.   

    用过软盘的内牛满面... 我还记得在apple上画了把gun.
      

  4.   

    c1 controls
    非权威答案:
    0x8?和0x9?区间在一些编码里做特殊控制字符(c1 controls), 不少编码都避开了这一区域,包括我们熟知的IOS-8859-1.
    在gb2312里,以前的window3.1什么上,有个程序可以自造汉字,可以放入这一保留区域. big5似乎也是如此.为什么gbk又用了...大概实在是没地方了吧...
    为什么又从40开始...因为0x01-0x1f这些都是控制字符且更常用,用了会有很多麻烦....比如回车符也在里面...那么为什么要从40而不是20开始....大概因为暂时还够空间而且40划出来比较整齐吧...其实这些编码都是一步步发展起来的,比如gb2312里还分一级汉字,二级汉字,一级按拼音排序,二级又按笔画排了,显然是两步完成...不够了就又去字符空间里划拉一块地方....所以不那么完美....
      

  5.   

    感谢5楼helloyou0的回答,我通过你的回复查看了相关资料,的确如你所言。当时ASCII用了128个字符,而其他编码都与其相兼容,但是其他国家感觉不够用,西欧就把他扩展到了256个组字符(事实好像不正确,但理解起来没问题)这里面定义了一些控制字符(81-9F),同时东亚文字国家地区,比如中国,台湾,日本,西欧也推出符合东亚的文字集,比如GB2312,这也是为何从A1开始的原因,但是字符集太小只有六七千,而日本台湾采用是和GBK这样的编码,也就是说仅仅过滤掉了ASCII的控制字符。
    换句话说,日本,台湾一次到位,而中国是gb2312-gbk,PS:因为\转义符在40-80之间,所以引起一些问题,不过因为gb2312的缘故,影响不大。