从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-200初级上添加了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四种汉字编码标准有什么差别和联系的更多相关文章

  1. ASCII,unicode, utf8 ,big5 ,gb2312,gbk,gb18030等几种常用编码区别(转载)

    原文出处:http://www.blogjava.net/xcp/archive/2009/10/29/coding2.html 最近老为编码问题而烦燥,下定决心一定要将其弄明白!本文主要总结网上一些 ...

  2. GB2312、GBK和UTF-8三种编码以及QT中文显示乱码问题

    1.GB2312.GBK和UTF-8三种编码的简要说明 GB2312.GBK和UTF-8都是一种字符编码,除此之外,还有好多字符编码.只是对于我们中国人的应用来说,用这三种编码 比较多.简单的说一下, ...

  3. 汉字编码:GB2312, GBK, GB18030, Big5

    前一篇博文:ANSI是什么编码?中有这样一段小故事: 话说计算机是由美国佬搞出来的嘛,他们觉得一个字节(可以表示256个编码)表示英语世界里所有的字母.数字和常用特殊符号已经绰绰有余了(其实ASCII ...

  4. 字符集、字符编码、国际化、本地化简要总结(UNICODE/UTF/ASCII/GB2312/GBK/GB18030)

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 环境说明   普通的linux 和 普通的windows.    ...

  5. 字符编码-ASCII,GB2312,GBK,GB18030

    ASCII ASCII,GB2312,GBK,GB18030依次增加,向下兼容. 手机只需要支持GB2312 电脑中文windows只支持GBK 发展历程 如果你使用编译器是python2.0版本,默 ...

  6. 汉字编码 (GB2312 GBK GB18030)

    GB2312 收录简化汉字及符号.字母.日文假名等共7445个图形字符,其中汉字占6763个 每个符号都用两个字节表示,每个字节均采用七位编码表示,习惯上 第一个字节是高字节,第二个字节是低字节 GB ...

  7. 【转】GB2312、GBK和UTF-8三种编码的简要说明

    原文地址:http://www.cnblogs.com/hust-yingjie/p/5481966.htmlGB2312.GBK和UTF-8都是一种字符编码,除此之外,还有好多字符编码.只是对于我们 ...

  8. 告别乱码,针对GBK、UTF-8两种编码的智能URL解码器的java实现(转)

    效果图 字符 字符是早于计算机而存在,从人类有文明那时起,人们就用一个个符号代表世间万象.如ABC,如“一.二.三”. 字符集 字符集是所有字符的集合. XXX字符集 给字符集中的每一个字符套上一个序 ...

  9. GB2312,GBK和UTF-8的区别

    GBK GBK包含全部中文字符, GBK的文字编码是双字节来表示的,即不论中.英文字符均使用双字节来表示,只不过为区分中文,将其最高位都定成1.至于UTF-8编码则是用以解决国际上字符的一种多字节编码 ...

随机推荐

  1. 【转】OPC远程访问相关配置信息

    原文:http://blog.gkong.com/kking_25653.ashx 对于远程访问OPC服务器,需要在客户和服务器计算机上都进行DCOM设置,本文提供一些具体配置方法.(by Kevin ...

  2. [android开发篇]自定义权限

    有时候,我们可能遇到如下需求场景:当用户在一个应用程序中进行某项操作时,会启动另外一个应用程序,最常见的时直接打开了另外一个应用程序,并进入其中某个Activity(如:有的应用中有推荐应用列表,当用 ...

  3. BZOJ 1072 [SCOI2007]排列perm ——状压DP

    [题目分析] 没什么好说的,水题. 代码比较丑,结果需要开long long 时间爆炸 [代码] #include <cstdio> #include <cstring> #i ...

  4. 北京集训TEST16——图片加密(fft+kmp)

    题目: Description CJB天天要跟妹子聊天,可是他对微信的加密算法表示担心:“微信这种加密算法,早就过时了,我发明的加密算法早已风靡全球,安全性天下第一!” CJB是这样加密的:设CJB想 ...

  5. 【CCF】路径压缩 区间dp

    [题意] 改编哈夫曼树,限制从左到右字母的编码按字典序递增 [思路] 因为是二进制编码,所以是二叉树: 因为是前缀码,所以每个字母都是叶子结点,不可能是内结点: 因为要按字典序递增,所以只能是相邻的结 ...

  6. net8:简易的文件磁盘管理操作一(包括文件以及文件夹的编辑创建删除移动拷贝重命名等)

    原文发布时间为:2008-08-07 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Data;using System.Configuration ...

  7. [TJOI2019]唱、跳、rap和篮球_生成函数_容斥原理_ntt

    [TJOI2019]唱.跳.rap和篮球 这么多人过没人写题解啊 那我就随便说说了嗷 这题第一步挺套路的,就是题目要求不能存在balabala的时候考虑正难则反,要求必须存在的方案数然后用总数减,往往 ...

  8. java内部类理解使用

    这是我学习Java内部类的笔记 1.为什么使用内部类?使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响1.1 ...

  9. bootstrap -- 学习之流动布局

    Grid是什么? Grid 翻译成中文是格栅系统,不过还是不好理解,理解为一行12个格子可能更容易些.Grid可以把一行内容最多分成12个格子,而且可以根据需要来合并这12个格子中的其中某些格子.下面 ...

  10. 第三讲_图像特征与描述Image Feature Descriptor

    第三讲_图像特征与描述Image Feature Descriptor 概要 特征提取方法 直方图 对图片数据/特征分布的一种统计:对不同量进行直方图统计:可以表示灰度,颜色,梯度,边缘,形状,纹理, ...