中文字符集、编码
常用字符集编码详解:ASCII 、GB2312、GBK、GB18030、...

ASCIIASCII码是7位编码,编码范围是0x00-0x7F。
ASCII字符集包括英文字母、阿拉伯数字和标点符号等字符。
其中0x00-0x20和0x7F共33个控制字符。
只支持ASCII码的系统会忽略每个字节的最高位,只认为低7位是有效位。
HZ字符编码就是早期为了在只支持7位ASCII系统中传输中文而设计的编码。
早期很多邮件系统也只支持ASCII编码,为了传输中文邮件必须使用BASE64或者其他编码方式。
GB2312GB2312是基于区位码设计的,区位码把编码表分为94个区,每个区对应94个位,每个字符的区号和位号组合起来就是该汉字的区位码。
区位码一般用10进制数来表示,如1601就表示16区1位,对应的字符是“啊”。
在区位码的区号和位号上分别加上0xA0就得到了GB2312编码。
区位码中01-09区是符号、数字区,16-87区是汉字区,10-15和88-94是未定义的空白区。
它将收录的汉字分成两级:第一级是常用汉字计3755个,置于16-55区,按汉语拼音字母/笔形顺序排列;第二级汉字是次常用汉字计3008个,置于56-87区,按部首/笔画顺序排列。
一级汉字是按照拼音排序的,这个就可以得到某个拼音在一级汉字区位中的范围,很多根据汉字可以得到拼音的程序就是根据这个原理编写的。
GB2312字符集中除常用简体汉字字符外还包括希腊字母、日文平假名及片假名字母、俄语西里尔字母等字符,未收录繁体中文汉字和一些生僻字。
可以用繁体汉字测试某些系统是不是只支持GB2312编码。
GB2312的编码范围是0xA1A1-0x7E7E,去掉未定义的区域之后可以理解为实际编码范围是0xA1A1-0xF7FE。
EUC-CN可以理解为GB2312的别名,和GB2312完全相同。
区位码更应该认为是字符集的定义,定义了所收录的字符和字符位置,而GB2312及EUC-CN是实际计算机环境中支持这种字符集的编码。
HZ和ISO- 2022-CN是对应区位码字符集的另外两种编码,都是用7位编码空间来支持汉字。
utf中文编码范围

utf中文编码范围在UTF中文编码范围中,主要使用的是Unicode字符集来表示汉字和其他各种语言的字符。
Unicode是以16位编码方式来表示字符,因此可以表示2^16=65536个不同的字符。
UTF-8是一种可变长度编码方式,它可以根据不同的字符选择不同长度的编码。
对于ASCII字符(包括英文字母、数字和一些特殊符号),UTF-8使用1个字节表示;而对于汉字等非ASCII字符,UTF-8使用2个或更多字节表示。
UTF-8被广泛应用于互联网,因为它能够兼容ASCII字符,同时也可以表示全世界范围内的字符。
UTF-8中文编码范围主要包括了汉字和其他一些特殊字符。
汉字的编码范围在Unicode字符集中是从4E00到9FFF。
这个范围内包含了常用的中文汉字,以及一些生僻字、方块字等。
除了汉字,UTF-8还包含了一些其他字符,比如标点符号、数学符号、货币符号等。
在UTF-8编码范围中,除了汉字和其他特殊字符,还有一些控制字符和不可打印字符。
这些字符用于控制文本的显示和排版,例如换行符、回车符、制表符等。
这些字符在文本处理和编程中有着重要的作用。
UTF-8编码范围中还包含了一些特殊的符号和表情符号。
这些符号包括各种箭头符号、图形符号、几何形状符号、旗帜符号等。
此外,还有一些表情符号,比如笑脸、哭脸、心形符号等,用于在文本中表达情感和感觉。
总的来说,UTF-8中文编码范围是非常广泛的,包含了汉字、其他各种字符和符号。
这些字符和符号可以用于各种场合,包括文本编辑、编程、网页设计等。
使用UTF-8编码,可以确保文字和符号的正确显示,使得文本在不同的环境中都能够被正确地处理和显示。
常用的中文字符编码

常用的中文字符编码
常用的中文字符编码有以下几种:
1. GB2312:是中国国家标准简体中文字符集,共收录了6763个汉字。
GB2312是最早的汉字字符集,主要用于简体中文的编码。
2. GBK:是GB2312的扩展字符集,共收录了21886个汉字。
GBK 支持繁体中文字符和少数民族文字。
GBK是目前最常用的中文字符编码。
3. GB18030:是GB2312和GBK的升级版字符集,共收录了27533个汉字。
GB18030支持所有中国少数民族文字,并且还包含了Unicode
3.0的全部字符。
4. UTF-8:是一种以Unicode为基础的字符编码,采用可变长度的编码方式,支持全球范围内几乎所有的字符。
UTF-8是互联网上最常用的字符编码,也是目前推荐使用的中文字符编码。
除了上述字符编码,还有一些其他的字符编码,如Big5(主要用于繁体中文)、ISO-8859-1(用于西欧字符集)等,但在日常使用中较少见。
汉字编码字符集

汉字编码字符集汉字编码字符集是指用于表示和存储汉字的一套编码系统。
在计算机领域,为了能够准确地表示和处理汉字,人们设计了多种不同的汉字编码字符集。
本文将介绍几种常见的汉字编码字符集,包括GB2312、GBK、Unicode以及UTF-8。
一、GB2312GB2312是中国国家标准局于1980年发布的一种汉字编码字符集,是最早被广泛使用的汉字字符集之一。
GB2312字符集包含了7445个汉字和682个非汉字字符,采用双字节表示每个字符。
其中,第一个字节的范围是0xB0至0xF7,第二个字节的范围是0xA1至0xFE。
GB2312字符集主要适用于简体中文。
二、GBK随着计算机技术的发展和汉字数量的增加,GB2312字符集的容量已经无法满足需求。
为了解决这个问题,国家标准局于1995年发布了GBK字符集,它是对GB2312字符集的扩充和改进。
GBK字符集兼容GB2312字符集,同时加入了21003个汉字,总计包含了21886个汉字。
GBK字符集同样采用双字节表示每个字符,第一个字节的范围是0x81至0xFE,第二个字节的范围是0x40至0xFE。
GBK字符集支持简体中文和繁体中文。
三、UnicodeUnicode是一种国际标准字符集,旨在为全球所有字符提供唯一的编码。
Unicode采用16位的编码方案,可以支持最多65536个不同的字符。
不仅包括了各个国家语言的文字,还包括了数学符号、技术符号、图形符号等。
Unicode字符集为各种语言的文字提供了一个统一的编码标准。
四、UTF-8UTF-8是一种可变长度的Unicode编码方案,更好地解决了存储效率和兼容性的问题。
UTF-8使用1至4个字节来表示一个字符,根据不同的字符而变化。
对于单字节的字符,编码和ASCII码相同,兼容ASCII码。
对于多字节的字符,第一个字节的高位标识了字节数。
UTF-8字符集可以表示Unicode字符集中的所有字符。
在计算机系统中,为了使不同的系统能够正确地处理汉字编码,一般需要统一选择一种字符集来使用。
字符编码和字符集到底有什么区别?Unicode和UTF-8是什么关系?

字符编码和字符集到底有什么区别?Unicode和UTF-8是什么关系?前⾔想必⼤家编写代码时肯定和我⼀样,也遇到过汉字乱码的问题。
特别是,有时候和上下游对接接⼝,不能统⼀编码格式的话,⼀堆乱码问题,让⼈头⽪发⿇。
那么为什么会有这么多的乱码问题?什么是字符编码?什么是字符集?他们之间有什么区别和联系?什么是 Unicode ? Unicode 和我们常说的 UTF-8 ⼜有什么关系?字符编码和解码要想搞清楚上⾯的问题,⾸先我们要知道,在计算机中,不管是⼀段⽂字、⼀张图⽚还是⼀段视频,最终都是以⼆进制的⽅式来存储。
也就是最终都会转化为0001 1011 0010 0110这样的格式。
换句话说,计算机只认识 0 和 1 这样的数字,并不能直接存储字符。
所以我们需要告诉它什么样的字符对应的是什么数字。
例如,我们的业务中有记录客户端的客户⾏为⽇志,然后导出⽂件来分析,字段间会以ESC来分隔。
我在编写代码的时候,就需要定义⼀下这个ESC字符应该对应什么数字,这样计算机才能识别并存储。
⽐如我把它定为0001 1011,这样计算机就把ESC这个字符存了下来。
等我下次需要查看的时候,根据对应关系把它解出来就可以了。
上边的两个过程就对应字符的编码和解码过程。
字符编码就是把字符按⼀定的规则,转换成数字。
字符解码是编码的逆过程,即把数字按规则转换成字符。
这样看来,貌似没有什么问题。
但是,这是我⾃⼰定义的编码规则,我同桌阿霄就不乐意了。
他⾮要认为ESC应该定义为1101 1000,好家伙正好和我定义的⼆进制数字顺序相反。
那结果肯定不⽤说了,我把0001 1011这串数字给他之后,按照他的编码规则来解,肯定是&$#!这样的东西。
所以,乱码问题说到底,就是编码和解码的规则对应不上导致的。
ASCII 码为了避免我和阿霄因为编码问题打起来,美国国家标准学会(AMERICAN NATIONAL STANDARDS INSTITUTE) ANSI 组织发话了。
中文字符集的编码

中文字符集的编码
中文字符集的编码标准有很多,其中最常见的是GB2312、GBK、
GB18030和UTF8。
这些编码标准主要用于处理中文字符在计算机中的表
示和存储。
GB2312,全称《信息交换用汉字编码字符集·基本集》,是中国国家强制
标准,包含了6763个常用汉字和非汉字字符。
该标准的字符集是分为两个区的,其中01-09区是特殊符号区,16-55区是一级汉字区,56-87区是
二级汉字区。
GBK是在GB2312的基础上扩大了更多汉字,支持繁体中文和部分其他语
言字符。
GB18030则是更全面的中文字符集,可以表示超过七万字,并且包括了许多不常见的汉字。
UTF8是一种变长字节表示的Unicode字符集,可以用来表示任何Unicode标准中的字符,包括中文字符。
总的来说,不同的编码标准适用于不同的应用场景,因此在处理中文字符时,需要根据实际需求选择合适的编码标准。
中文编码解析

中文编码解析中文编码解析是指将中文字符转换为计算机可识别的数字编码的过程。
常见的中文编码方式包括UTF-8、GBK、GB2312和BIG5等。
1. UTF-8(Unicode Transformation Format-8 bits):UTF-8是一种可变长度的字符编码方式,可以表示任何Unicode标准中的字符。
UTF-8编码的字符以1到4个字节表示,最多可以表示21位的数字。
UTF-8编码是目前互联网上最常见的编码方式之一,因为它可以兼容ASCII 编码,并且支持全球范围内的语言文字。
2. GBK(GuóBǐng Kǎo):GBK是一种双字节字符编码方式,用于简体中文。
它兼容GB2312编码,但支持更多的字符集。
GBK编码的字符以1到2个字节表示,最多可以表示16位的数字。
3. GB2312(GuóBǐng 2312):GB2312是一种单字节字符编码方式,用于简体中文。
它支持6000多个常用汉字和一些标点符号、数字和字母。
GB2312编码的字符以1个字节表示,最多可以表示94位的数字。
4. BIG5(Bǐng Wén GuóTōng):BIG5是一种双字节字符编码方式,用于繁体中文。
它兼容GB2312编码,但支持更多的字符集。
BIG5编码的字符以1到2个字节表示,最多可以表示16位的数字。
在进行中文编码解析时,需要先将中文字符转换为相应的编码方式,然后再进行传输或存储。
在接收或读取时,需要将编码方式还原为中文字符,以便正确显示或处理。
常见的中文编码解析工具包括iconv、libiconv等。
中文编码解析是指将中文字符转换为计算机可识别的数字编码的过程。
常见的中文编码方式包括UTF-8、GBK、GB2312和BIG5等。
1. UTF-8(Unicode Transformation Format-8 bits):UTF-8是一种可变长度的字符编码方式,可以表示任何Unicode标准中的字符。
汉字unicode编码范围

汉字unicode编码范围GB2312编码:1981年5⽉1⽇发布的简体中⽂汉字编码国家标准。
GB2312对汉字采⽤双字节编码,收录7445个图形字符,其中包括6763个汉字。
BIG5编码:台湾地区繁体中⽂标准字符集,采⽤双字节编码,共收录13053个中⽂字,1984年实施。
GBK编码:1995年12⽉发布的汉字编码国家标准,是对GB2312编码的扩充,对汉字采⽤双字节编码。
GBK字符集共收录21003个汉字,包含国家标准GB13000-1中的全部中⽇韩汉字,和BIG5编码中的所有汉字。
GB18030编码:2000年3⽉17⽇发布的汉字编码国家标准,是对GBK编码的扩充,覆盖中⽂、⽇⽂、朝鲜语和中国少数民族⽂字,其中收录27484个汉字。
GB18030字符集采⽤单字节、双字节和四字节三种⽅式对字符编码。
兼容GBK和GB2312字符集。
Unicode编码:国际标准字符集,它将世界各种语⾔的每个字符定义⼀个唯⼀的编码,以满⾜跨语⾔、跨平台的⽂本信息转换。
汉⼦unicode编码表:⼀般使⽤2w基本汉⼦就够了字符集字数Unicode 编码20902字4E00-9FA538字9FA6-9FCB6582字3400-4DB542711字20000-2A6D64149字2A700-2B734222字2B740-2B81D214字2F00-2FD5115字2E80-2EF3477字F900-FAD9542字2F800-2FA1D81字E815-E86F452字E400-E5E8207字E600-E6CF36字31C0-31E312字2FF0-2FFB22字3105-312022字31A0-31BA〇1字3007。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
前言由于工作的需要,参考了好多资料整理出来一份计算机汉字处理报告,不敢独享,希 望与大家共享。
Ziggler 现代计算机技术虽然先进, 但大多数人只知录入 GB-2313 字符集内的 6763 个简体汉字, 对包含 21003 个简繁体汉字的 GBK 字符集的文字录入、字体 显示就已不甚了解(市面上 绝大多数所谓的繁体字体,其实采用的是 GB2313 字符集简体字的编码,用字体显示为繁体 字,而不是直接用 GBK 字符集中繁体字 的编码,错误百出) 。
而汉字总数至少有近 10 万 个,目前计算机能处理的,也有 70244 个,已非一般人所能知能用了。
由于汉字总数非常庞大。
汉字总共有多少字?到目前为止, 恐怕没人能够答得上来精确 的数字。
据估计,汉字数量达到 11 万左右。
这里所说的七万多汉字, 是指 UNICODE 超大字集全部七万多中日韩汉字。
(注: Unicode 是指用两个字节表示每个字符的字符编码方案。
) 那一般计算机能够显示多少个汉字呢?比如大陆这边普遍安装简体 Windows 系统,而 简体 windows 以宋体为系统字型,宋体支持 GBK 编码,所以能显示 20902 个汉字。
要显示 71564 个汉字, 可以采取多种方案, 如: 宋体-方正超大字符集+新细明体 EXTB、 宋体-方正超大字符集+中易宋体 EXTB、宋体 GB18030+新细明体 ExtB、宋体 18030+宋体 ExtB 等等。
中文字符集、编码字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。
字符 集是多个字符的集合,字符集 种类较多,每个字符集包含的字符个数不同。
计算机要准确的处理各种字符集文字, 需要进行字符编码, 以便计算机能够识别和存储 各种文字。
中文文字数目大, 而且还分为简体中文和繁体中文两种不同书写规则的文字, 而计算机 最初是按英语单字节字符设计的, 因此, 对中文字符进行编码, 是中文信息交流的技术基础。
以下是常见的一些字符集介绍,部分字符集中包括编码介绍。
GB2312 字符集1.名称的由来 GB2312 又称为 GB2312-80 字符集,全称为《信息交换用汉字编码字符集·基本集》 ,由原中 国国家标准总局发布,1981 年 5 月 1 日实施。
2.特点 GB2312 是中国国家标准的简体中文字符集。
它所收录的汉字已经覆盖 99.75%的使用频率,基本满足了汉字的计算机处理需要。
在中国大陆和新加坡获广泛使用。
3.包含内容 GB2312 收录简化汉字及一般符号、序号、数字、拉丁字母、日文假名、希腊字母、俄文字母、汉语 拼音符号、 汉语注音字母, 共 7445 个图形字符。
其中包括 6763 个汉字, 其中一级汉字 3755 个,二级汉字 3008 个;包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔 字母在内的 682 个全角字符。
4.技术特征 (1)分区表示: GB2312 中对所收汉字进行了“分区”处理,每区含有 94 个汉字/符号。
这种表示方式也称 为区位码。
各区包含的字符如下:01-09 区为特殊符号;16-55 区为一级汉字,按拼音排序;56-87 区 为 二级汉字,按部首/笔画排序;10-15 区及 88-94 区则未有编码。
(2)双字节表示 两个字节中前面的字节为第一字节,后面的字节为第二字节。
习惯上称第一字节为“高 字节” ,而称第二字节为“低字节” 。
“高位字节”使用了 0xA1-0xF7(把 01-87 区的区号加 上 0xA0), “低位字节”使用了 0xA1-0xFE(把 01-94 加上 0xA0)。
5.编码举例 以 GB2312 字符集的第一个汉字 “啊” 字为例, 它的区号 16, 位号 01, 则区位码是 1601, 在大多数计算机程序中,高字节和低字节分别加 0xA0 得到程序的汉字处理编码 0xB0A1。
计 算公式是:0xB0=0xA0+16, 0xA1=0xA0+1。
BIG5 字符集1.名称的由来 又称大五码或五大码,1984 年由台湾财团法人信息工业策进会和五间软件公司宏碁 (Acer)、神通 (MiTAC)、佳佳、零壹 (Zero One)、大众 (FIC)创立,故称大五码。
Big5 码的产生,是因为当时台湾不同厂商各自推出不同的编码,如倚天码、IBM PS55、 王安码等,彼此不能兼容;另一方面,台湾政府当时尚未推出官方的汉字编码,而中国大陆 的 GB2312 编码亦未有收录繁体中文字。
2.特点 Big5 字符集共收录 13,053 个中文字,该字符集在中国台湾使用。
耐人寻味的是该字符 集重复地收录了两个相同的字: “兀”(0xA461 及 0xC94A)、 “嗀”(0xDCD1 及 0xDDFC)。
3.字符编码方法 Big5 码使用了双字节储存方法,以两个字节来编码一个字。
第一个字节称为“高位字 节” ,第二个字节称为“低位字节” 。
高位字节的编码范围 0xA1-0xF9,低位字节的编码范围 0x40-0x7E 及 0xA1-0xFE。
各编码范围对应的字符类型如下:0xA140-0xA3BF 为标点符号、希腊字母及特殊符号, 另 外 于 0xA259-0xA261 , 存 放 了 双 音 节 度 量 衡 单 位 用 字 : 兙 兛 兞 兝 兡 兣 嗧 瓩 糎 ; 0xA440-0xC67E 为常用汉字,先按笔划再按部首排序;0xC940-0xF9D5 为次常用汉字,亦是 先按笔划再按部首排序。
4.Big5 的局限性 尽管 Big5 码内包含一万多个字符,但是没有考虑社会上流通的人名、地名用字、方言 用字、化学及生物科等用字,没有包含日文平假名及片假名字母。
例如台湾视“着”为“著”的异体字,故没有收录“着”字。
康熙字典中的一些部首用 字(如“亠” 、 “疒” 、 “辵” 、 “癶”等)、常见的人名用字(如“堃” 、 “煊” 、 “栢” 、 “喆”等) 也 没有收录到 Big5 之中。
GBK 字符集又称大字符集(GB=GuóBiāo 国标,K=扩展),包含以上两种字符集汉字,收入 21003 个 汉字,882 个符号,共计 21885 个字符,包括了中日韩(CJK)统一汉字 20902 个、扩展 A 集 (CJK Ext-A) 中的汉字 52 个。
Windows 95\98 简体中文 版就带有这个 GBK.txt 文件。
宋体、 隶书、 黑体、 幼圆、 华文中宋、 华文细黑、 华文楷体、 标楷体(DFKai-SB)、 Arial Unicode MS、 MingLiU、PMingLiU 等字体支持显示这个字符集。
微软拼音输入法 2003、全拼、紫光拼音 等输入法,能够 录入如镕镕炁夬喆嚞姤赟赟䶮龑昳堃慜靕臹等 GBK 简繁体汉字。
GB18030 字符集1.名称的由来 GB 18030 的全称是 GB18030-2000《信息交换用汉字编码字符集基本集的扩充》 ,是我国 政府于 2000 年 3 月 17 日发布的新的汉字编码国家标准,2001 年 8 月 31 日后在中国市场上 发布的软件必须符合本标准2.特点 GB 18030 字符集标准的出台经过广泛参与和论证,来自国内外知名信息技术行业的公 司,信息产业部和原国家质量技术监督局联合实施。
GB 18030 字符集标准解决汉字、日文假名、朝鲜语和中国少数民族文字组成的大字符 集计算机编码问题。
该标准的字符总编码空间超过 150 万个编码位,收录了 27484 个汉字, 覆盖中文、日文、朝鲜语和中国少数民族文字。
满足中国大陆、香港、台湾、日本和韩国等 东亚地区信息交换多文种、大字量、多用途、统一编码格式的要求。
并且与 Unicode 3.0 版本兼容,填补 Unicode 扩展字符字汇“统一汉字扩展 A”的内容。
并且与以前的国家字符 编码标准(GB2312,GB13000.1)兼容。
3.编码方法 GB 18030 标准采用单字节、双字节和四字节三种方式对字符编码。
单字节部分使用 0 ×00 至 0×7F 码(对应于 ASCII 码的相应码)。
双字节部分,首字节码从 0×81 至 0×FE,尾 字节码位分别是 0×40 至 0×7E 和 0×80 至 0×FE。
四字节部分采用 GB/T 11383 未采用的 0 ×30 到 0×39 作为对双字节编码扩充的后缀, 这样扩充的四字节编码, 其范围为 0×81308130 到 0×FE39FE39。
其中第一、三个字节编码码位均为 0×81 至 0×FE,第二、四个字节编码 码位均为 0×30 至 0×39。
4.包含的内容 双字节部分收录内容主要包括 GB13000.1 全部 CJK 汉字 20902 个、 有关标点符号、 表意 文字描述符 13 个、增补的汉字和部首/构件 80 个、双字节编码的欧元符号等。
四字节 部分收录了上述双字节字符之外的,包括 CJK 统一汉字扩充 A 在内的 GB 13000.1 中的全部 字符。
方正超大字符集包含 GB18030 字符集、CJK Ext-B 中的 36862 个汉字,共计 64395 个汉字。
宋体-方正 超大字符集支持这个 字符集的显示。
Microsoft Office XP 或 2003 就自带有这个字体。
若要 单独安装字体,选择:自定义安装→选择应用程序的高级自定义 →Microsoft Office→Office 共享功能→中文字体→中文超大字符集字体,点左键选择“从本机运行全部程序”,其馀内容 用左键点击选择 不安装。
Unicode 字符集1.名称的由来 Unicode 字符集编码是 Universal Multiple-Octet Coded Character Set 通用多八位编码字符集的简称,是由一个名为 Unicode 学术学会(Unicode Consortium)的机构制订的 字符编码系统, 支持现今世界各种不同语言的书面文本的交换、 处理及显示。
该编码于 1990 年开始研发,1994 年正式公布,最新版本是 2005 年 3 月 31 日的 Unicode 4.1.0。
2.特征 Unicode 是一种在计算机上使用的字符编码。
它为每种语言中的每个字符设定了统一并 且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
3.编码方法 Unicode 标准始终使用十六进制数字,而且在书写时在前面加上前缀“U+” ,例如字母 “A”的编码为 004116 和字符“?”的编码为 20AC16。