码迷,mamicode.com
首页 > 其他好文 > 详细

GB2312,GBK,GB18030,UTF8四种汉字编码标准有什么区别和联系

时间:2015-07-07 19:33:54      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:



从GB2312、GBK 到 GB18030,这些编码方法是向下兼容的,即同一个字符在这些方案中总是有相同的编码,后面的标准支持更多的字符。在这些编码中,英文和中文可以统一地处理。区分中文编码的方法是高字节的最高位不为 0。按照程序员的称呼,GB2312、GBK 到 GB18030 都属于双字节字符集 (DBCS)。

以下是这四种字符集的包含关系:GB2312 < GBK < GB18030 < UTF8


-------------------------------------------------------------------------------------------

可以参考这个链接  http://www.fmddlmyy.cn/text24.html

-------------------------------------------------------------------------------------------

1980年的GB2312一共收录了7445个字符,包括6763个汉字和682个其它符号。

1995年的汉字扩展规范GBK1.0收录了21886个符号,包括21003个汉字和883个其它符号。

GB18030有两个版本:GB18030-2000和GB18030-2005。GB18030-2000是GBK的取代版本,它的主要特点是在GBK基础上增加了CJK统一汉字扩充A的汉字。GB18030-2005的主要特点是在GB18030-2000基础上增加了CJK统一汉字扩充B的汉字。


否则在处理部分文件时,进行转换编码转换的时候,会出现转不了的情况,就会报错。

比如在PYTHON里,

for l in open('abc_gb18030.txt'):
    ls = l.rstrip('\n').decode('gbk').encode('utf8').split('\t')
    print ls
abc_gb18030.txt是GB18030编码,在代码里,先转成了GBK,然后又转成了UTF8,因为在向GBK转换的时候,是又一个较大字符集往小的字符集转,所以就会报错。



版权声明:本文为博主原创文章,未经博主允许不得转载。

GB2312,GBK,GB18030,UTF8四种汉字编码标准有什么区别和联系

标签:

原文地址:http://blog.csdn.net/wanglei9876/article/details/46791887

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!