GB2312GB_13000_GBKGB18030介绍讲解
仿宋_gb2312
仿宋_GB2312是一种电脑字体,公文标准字体之一。
仿宋是字体名称,GB2312是字符编码名称,属简体中文编码的一种,简体中文自1980年代以来通常使用中华人民共和国国家标准总局公布的GB 2312,以及其后继的GBK和GB18030中文编码。
近年来随着Unicode跨语言编码集的出现,也被广泛使用,所以通常说的仿宋就基本上是仿宋_GB2312了。
一、名称简体中文系统环境支持国标 GB2312、GB18030 和 Unicode (UTF-8) 编码。
它们在系统中设置的locale(亦指语言别)名称为:1.国标 GB2312: zh_CNhp15CN2.国标 GB18030: zh_CNgb180303.Unicode (UTF-8): zh_CNutf8二、编码字节1.国标 GB2312 编码 (zh_CNhp15CN)国标 GB2312 是基于 1980 年发布的《信息交换用汉字编码字符集基本集》,是中文信息处理的中国国家标准,是强制执行的中文编码。
国标码共收录 6763 个简体汉字、682 个符号,其中汉字部分:一级字 3755 个,以拼音排序,二级字 3008 个,以偏旁部首排序。
该标准的制定和应用为规范、推动中文信息化进程起了很大作用。
该标准用双字节表示一个汉字:高字节A1-F7(其中字符区 A1-F9,汉字区 B0-F7)低字节 A1-FE2.国标 GB18030 编码 (zh_CNgb18030)国标 GB18030 基于 2000 年 3 月发布的《信息技术信息交换用汉字编码字符集基本集的扩充》,是最新推出的中国国家强制执行中文信息处理标准编码。
该标准涵盖了单字节、双字节、四字节的字符和汉字,共计约 28,000 多个。
三、如何设置打开WORD文档,温截选中文档里的文字。
单击字体,倘段下拉选择仿宋GB2312,如果没有这种字体,可以从网上下载安装。
选中文字设置为仿宋GB2312字体。
UTF-8、GB2312、GBK编码格式详解和编码示例
UTF-8、GB2312、GBK编码格式详解和编码⽰例UTF-8、GB2312、GBK编码格式详解UTF-8使⽤1~4个字节对每个字符进⾏编码128个ASCII字符字需要⼀个字节编码带有附加符号的拉丁⽂、希腊⽂、西⾥尔字母、亚美尼亚语、希伯来⽂、阿拉伯⽂、叙利亚⽂及它拿字母则需要两个字节进⾏编码其他基本多⽂种平⾯中的字符(这包含了⼤部分常⽤字,如⼤部分的汉字)使⽤三个字节编码其他极少使⽤的Unicode辅助平⾯的字符使⽤四⾄六字节编码GB2312,GBK编码GB2312:⼀个⼩于127的字符意义与原来的相同,但是两个⼤于127的字符连在⼀起时,就表⽰⼀个汉字;前⾯的⼀个字节(⾼字节)从0xA1⽤到0xF7,后⾯⼀个字节(低字节)从0xA1到0xFE;其中,在ASCII⾥本来就有个的数字、标点、字母都统统重新编了两个字节长的编码,这就是常说的“全⾓”字符,⽽原来在127号以下的那些就叫“半⾓”字符GBK:不再要求低字节⼀定是127号之后的编码,只要第⼀个字节是⼤于127就固定表⽰这是⼀个汉字的开始,不管后⾯跟的是不是扩展字符集⾥的内容例⼦以下例⼦使⽤nodeJS来编写,具体代码和相关测试⽂件可见。
联通参考⽂章中给出了⼀个⽐较经典的例⼦,在这⾥详细研究⼀下。
------------------⾮UTF-8编码保存的[联通]数据------------------<Buffer c1 aa cd a8>------------------UTF-8编码保存的[联通]数据-带BOM------------------<Buffer ef bb bf e8 81 94 e9 80 9a>------------------UTF-8编码保存的[联通]数据-不带BOM------------------<Buffer e8 81 94 e9 80 9a>可以清楚看到window默认编码格式GB2312和UTF-8编码格式的区别:GB2312使⽤两个字节对汉字进⾏编码,⽽UTF-8使⽤三个字节对汉字进⾏编码UTF-8带BOM的编码格式和不带BOM的编码格式之间的区别:BOM格式会在头部添加ef bb bf三个字节作为标志中英⽂混合这个主要是看各个编码格式对于ASCII编码的兼容情况------------------⾮UTF-8编码保存的[hello 你好]数据------------------<Buffer 68 65 6c 6c 6f 20 c4 e3 ba c3>------------------UTF-8编码保存的[hello 你好]数据-带BOM------------------<Buffer ef bb bf 68 65 6c 6c 6f 20 e4 bd a0 e5 a5 bd>------------------UTF-8编码保存的[hello 你好]数据-不带BOM------------------<Buffer 68 65 6c 6c 6f 20 e4 bd a0 e5 a5 bd>可以看出,两种编码格式对ASCII都能兼容,前⾯的[hello ]两者的编码是⼀致的,⽽中⽂字符编码则是根据各⾃不同的编码规则来得如果只有ASCII字符,则两种编码是等价的,GB2312⽅式打开UTF-8编码的⽂件不会出现乱码,反之亦然编码格式区分带有BOM信息的,可以根据BOM信息进⾏区分:前三个字节为:ef bb bf的是UTF-8编码格式没有BOM信息的,则需要按字节进⾏区分:如果UTF-8中有中⽂字符,则可以根据1110XXXX 10XXXXXX 10XXXXXX这种格式来进⾏区分;如果UTF-8中有其他两个字节编码的字符则较难进⾏区分,希望有⼈可以给指点。
GB2312,GBK,GB18030这几种字符集主要的区别是什么?
GB2312,GBK,GB18030这几种字符集主要的区别是什么?早期的计算机使用7位的ASCII编码,为了处理汉字,程序员设计了用于简体中文的GB2312和用于繁体中文的big5。
GB2312(1980年):16位字符集,收录有6763个简体汉字,682个符号,共7445个字符;优点:适用于简体中文环境,属于中国国家标准,通行于大陆,新加坡等地也使用此编码;缺点:不兼容繁体中文,其汉字集合过少。
GBK(1995年):16位字符集,收录有21003个汉字,883个符号,共21886个字符;优点:适用于简繁中文共存的环境,为简体Windows所使用(代码页cp936),向下完全兼容gb2312,向上支持 ISO-10646 国际标准;所有字符都可以一对一映射到unicode2.0上;缺点:不属于官方标准,和big5之间需要转换;很多搜索引擎都不能很好地支持GBK汉字。
GB18030(2000年):32位字符集;收录了27484个汉字,同时收录了藏文、蒙文、维吾尔文等主要的少数民族文字。
优点:可以收录所有你能想到的文字和符号,属于中国最新的国家标准;缺点:目前支持它的软件较少。
补充:•现在的PC平台必须支持GB18030,对嵌入式产品暂不作要求。
所以手机、MP3一般只支持GB2312。
•从ASCII、GB2312、GBK到GB18030,这些编码方法是向下兼容的,即同一个字符在这些方案中总是有相同的编码,后面的标准支持更多的字符。
在这些编码中,英文和中文可以统一地处理。
区分中文编码的方法是高字节的最高位不为0。
GB2312、GBK到GB18030都属于双字节字符集 (DBCS)。
•GB18030是中国所有非手持/嵌入式计算机系统的强制实施标准。
各种文字编码简介+常见的编码都有介绍
各种文字编码简介ASCIIASCII码是7位编码,编码范围是0×00-0×7F。
ASCII字符集包括英文字母、阿拉伯数字和标点符号等字符。
其中0×00-0×20和0×7F共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-0×7E7E,去掉未定义的区域之后可以理解为实际编码范围是0xA1A1-0xF7FE。
EUC-CN可以理解为GB2312的别名,和GB2312完全相同。
区位码更应该认为是字符集的定义,定义了所收录的字符和字符位置,而GB2312及EUC-CN是实际计算机环境中支持这种字符集的编码。
常用字符集编码详解:ASCII、GB2312、GBK、GB18030、...
ASCIIASCII 码是7位编码,编码范围是0x00-0x7F ASCII 字符集包括英文字母、 阿拉伯数字和标点符号等字符。
其中 0x00-0x20和0x7F 共33个控制字符。
只支持ASCI 码的系统会忽略每个字节的最高位,只认为低 7位是有效位。
HZ 字符编码就是早期为了在只支持 7位ASCII 系统中传输中文而设计的编码。
早期很多邮件系统也只支持ASCII 编码,为了传输中文邮件必须使用 BASE64或 者其他编码方式。
GB2312GB2312是基于区位码设计的,区位码把编码表分为 94个位,每个字符的区号和位号组合起来就是该汉字的区位码。
10进制数来表示,如 1601就表示 16区1 位,对应的字符是 区号和位号上分别加上0xA0就得到了 GB2312编码。
区位码中 01-09区是符号、数字区, 16-87区是汉字区,未定义的空白区。
它将收录的汉字分成两级:第一级是常用汉字计 3755 个,置于 16-55 区,按汉语拼音字母 /笔形顺序排 列;第二级汉字是次常用汉字计 3008 个,置于 56-87 区,按部首 /笔画顺序排 列。
一级汉字是按照拼音排序的,这个就可以得到某个拼音在一级汉字区位中 的范围,很多根据汉字可以得到拼音的程序就是根据这个原理编写的。
GB2312字符集中除常用简体汉字字符外还包括希腊字母、日文平假名及片 假名字母、俄语西里尔字母等字符,未收录繁体中文汉字和一些生僻字。
可以 用繁体汉字测试某些系统是不是只支持 GB2312编码。
GB2312的编码范围是0xA1-0x7E 去掉未定义的区域之后可以理解为实际 编码范围是 0xA1-0xF7FE 。
EUC-CN 可以理解为GB2312的别名,和GB2312完全相同。
区位码更应该认为是字符集的定义,定义了所收录的字符和字符位置,而 94个区,每个区对应 区位码一般用 “啊”。
在区位码的10-15和 88-94是GB2312及EUC-CN是实际计算机环境中支持这种字符集的编码。
字符和汉字编码
字符和汉字编码一、字符集编码字符集编码是指将字符集中的字符转换为计算机可识别的二进制编码。
常见的字符集编码包括ASCII编码、GB2312编码、GBK编码、UTF-8编码等。
1. ASCII编码:ASCII编码是最常用的字符集编码,它包含了128个字符,每个字符用一个字节的二进制数表示。
2. GB2312编码:GB2312编码是中国大陆使用的字符集编码,它包含了6763个汉字和一些其他的字符。
3. GBK编码:GBK编码是中国大陆使用的扩展字符集编码,它包含了20902个汉字和一些其他的字符。
4. UTF-8编码:UTF-8编码是一种可变长度的字符集编码,它包含了几乎所有的语言字符,包括汉字。
二、汉字编码汉字编码是指将汉字转换为计算机可识别的二进制编码。
常见的汉字编码包括GB2312编码、GBK编码、UTF-8编码等。
1. GB2312编码:GB2312编码是中国大陆使用的汉字编码,它包含了6763个汉字。
2. GBK编码:GBK编码是中国大陆使用的扩展汉字编码,它包含了20902个汉字。
3. UTF-8编码:UTF-8编码是一种可变长度的汉字编码,它包含了几乎所有的语言字符,包括汉字。
三、字符和汉字的输入方法字符和汉字的输入方法包括键盘输入、手写输入、语音输入等。
1. 键盘输入:通过键盘输入字符和汉字,是最常用的输入方法。
2. 手写输入:通过手写输入汉字,通常需要使用专门的识别软件。
3. 语音输入:通过语音输入汉字,通常需要使用语音识别软件。
四、字体和字形的表示字体和字形的表示包括矢量字体和点阵字体。
矢量字体是一种数学描述的字体,可以无损放大;点阵字体是一种像素点的集合,放大后会出现失真。
五、编码标准编码标准是指制定字符集编码和汉字编码的规范和标准。
中国制定了《信息交换用汉字编码字符集》等标准,国际上制定了ISO/IEC 10646等标准。
六、字符和汉字的输出方法字符和汉字的输出方法包括屏幕输出、打印机输出、文件输出等。
GB18030编码研究以及GBK、GB18030与Unicode的映射
GB18030编码研究以及GBK、GB18030与Unicode的映射GB18030有两个版本:GB18030-2000和GB18030-2005。
在本文中,没有指明版本的GB18030是指GB18030-2005。
本文讨论了以下问题:1GB2312有682个图形符号,都放在1区。
GBK的1区有717个图形符号,5区有166个图形符号,一共有883个图形符号。
GB18030的1区有728个图形符号,5区还是166个符号。
那么,GBK的1区在GB2312基础上增加了哪35个符号?GB18030又增加了哪些符号?2GBK支持21003个汉字与883个图形符号,一共21886个字符。
这21886个字符究竟是哪些字符?这21886个字符的编码在GB18030中有什么变化?3GB18030是怎样映射Unicode的全部0x110000个码位的?4GB18030-2000和GB18030-2005在字汇上有什么区别,在编码上有什么区别?5GB18030-2005的双字节区中有2067个码位被映射到Unicode BMP 的PUA。
这些码位有什么规律?这些码位中定义了多少字符?其实这2067个码位中只定义了24个字符。
6GBK的21886个字符中有95个字符被映射到Unicode BMP的PUA。
在GB18030中这95个字符的编码有哪些变化?哪些字符保持了原来的编码?7GBK的23940个码位中有多少码位被映射到Unicode BMP的PUA?在GB18030中这些码位的编码有什么变化?在讨论这些问题前,我们先约定一下码位空间的表示方法。
0 码位空间0.1 约定GBK是双字节编码,每个字符用两个字节表示。
GB18030是多字节字符集,它的字符可以用一个、两个或四个字节表示。
码位空间由各字节的范围确定。
例如:GB18030的四字节字符码位空间是:∙第一字节在0x81~0xFE之间∙第二字节在0x30~0x39之间∙第三字节在0x81~0xFE之间∙第四字节在0x30~0x39之间为了表述方便,我们用0x81308130~0xFE39FE39表示这个码位空间。
我国已颁布的汉字编码标准 -回复
我国已颁布的汉字编码标准-回复汉字编码是现代信息技术中非常重要的一部分,它为计算机处理中文文字提供了标准化的方法。
我国在发展汉字编码方面做出了巨大的努力,已颁布了多种汉字编码标准。
本文将一步一步地回答关于我国已颁布的汉字编码标准的问题,并对每个标准进行详细介绍。
1. 什么是汉字编码标准?汉字编码标准是为了使计算机能够准确地处理中文文字而制定的规范。
它定义了每个汉字在计算机系统中的唯一编码,使得计算机可以根据编码来识别、存储和传输汉字。
2. 请介绍一下GB2312编码。
GB2312编码是我国最早的一种汉字编码标准,于1980年发布。
它共收录了包括6763个简体汉字在内的7445个字符。
GB2312采用了双字节表示方式,其中第一个字节的范围是0xA1至0xF7,第二个字节的范围是0xA1至0xFE。
这种编码标准在早期计算机系统中得到广泛应用,但由于字符集较小、无法涵盖繁体字等问题,逐渐被后续标准所取代。
3. 请介绍一下GBK编码。
GBK编码是GB2312的扩展版本,于1995年发布。
GBK编码在GB2312基础上增加了包括繁体汉字和生僻字在内的21886个字符,总共包含了21003个汉字和682个其他符号。
GBK编码同样采用了双字节表示方式,但第一个字节的范围是0x81至0xFE,第二个字节的范围是0x40至0xFE。
这种编码在多数计算机系统中得到了广泛应用,同时也作为其他后续编码标准的基础。
4. 请介绍一下GB18030编码。
GB18030编码是我国当前最新的一种汉字编码标准,于2005年发布。
GB18030编码不仅是GBK编码的扩展版本,还兼容了Unicode编码。
它收录了27484个汉字,同时支持繁体汉字、日韩汉字以及其他的国际字符。
GB18030编码同样采用了双字节和四字节表示方式,具有很高的兼容性和扩展性。
这种编码标准广泛应用于现代计算机和操作系统中。
5. 请介绍一下Unicode编码。
Unicode编码是一种全球通用的字符编码标准,用于表示世界上几乎所有的字符和符号。
C语言:GB2312编码和GBK编码,将中文存储到计算机
C语⾔:GB2312编码和GBK编码,将中⽂存储到计算机计算机是⼀种改变世界的发明,很快就从美国传到了全球各地,得到了所有国家的认可,成为了⼀种不可替代的⼯具。
计算机在⼴泛流⾏的过程中遇到的⼀个棘⼿问题就是字符编码,计算机是美国⼈发明的,它使⽤的是 ASCII 编码,只能显⽰英⽂字符,对汉语、韩语、⽇语、法语、德语等其它国家的字符⽆能为⼒。
为了让本国公民也能使⽤上计算机,各个国家(地区)也开始效仿 ASCII,开发了⾃⼰的字符编码。
这些字符编码和 ASCII ⼀样,只考虑本国的语⾔⽂化,不兼容其它国家的⽂字。
这样做的后果就是,⼀台计算机上必须安装多套字符编码,否则就不能正确地跨国传递数据,例如在中国编写的⽂本⽂件,拿到⽇本的电脑上就⽆法打开,或者打开后是⼀堆乱码。
下表列出了常见的字符编码:字符编码说明ISO/IEC 8859欧洲字符集,⽀持丹麦语、荷兰语、德语、意⼤利语、拉丁语、挪威语、葡萄⽛语、西班⽛语,瑞典语等,1987 年⾸次发布。
ASCII 编码只包含了*本的拉丁字母,没有包含欧洲很多国家所⽤到的⼀些扩展的拉丁字母,⽐如⼀些重⾳字母,带⾳标的字母等,ISO/IEC 8859 主要是在 ASCII 的*础上增加了这些衍⽣的拉丁字母。
Shift_Jis⽇语字符集,包含了全⾓及半⾓拉丁字母、平假名、⽚假名、符号及⽇语汉字,1978 年⾸次发布。
Big5繁体中⽂字符集,1984 年发布,通⾏于台湾、⾹港等地区,收录了 13053 个中⽂字、408个普通字符以及 33 个控制字符。
GB2312简体中⽂字符集,1980 年发布,共收录了 6763 个汉字,其中⼀级汉字 3755 个,⼆级汉字 3008 个;同时收录了包括拉丁字母、希腊字母、⽇⽂平假名及⽚假名字母、俄语西⾥尔字母在内的 682 个字符。
GBK 中⽂字符集,是在 GB2312 的*础上进⾏的扩展,1995 年发布。
GB2312 收录的汉字虽然覆盖了中国⼤陆 99.75% 的使⽤频率,满⾜了*本的输⼊输出要求,但是对于⼈名、古汉语等⽅⾯出现的罕⽤字(例如***的“*”就没有被 GB2312 收录),GB2312 并不能处理,所以后来⼜对 GBK 进⾏了⼀次扩展,形成了⼀种新的字符集,就是 GBK。
汉字编码常用的字符集
汉字编码常用的字符集
1. GB2312,GB2312是中国国家标准简化汉字字符集,于1980年发布。
它包含了6763个常用汉字和682个非汉字字符,使用双字节编码,其中包括了简体中文的基本字符。
2. GBK,GBK是GB2312的扩展字符集,于1995年发布。
它兼容GB2312,并增加了近两万个汉字和符号。
GBK使用双字节编码,其中包括了简体中文的扩展字符。
3. GB18030,GB18030是中国国家标准的多字节字符集,于2000年发布。
它兼容GB2312和GBK,并增加了更多的汉字和字符,包括繁体中文和一些少数民族文字。
GB18030使用单字节、双字节和四字节编码。
4. Unicode,Unicode是国际标准字符集,旨在涵盖地球上所有的字符。
Unicode采用统一的编码方式,为每个字符分配唯一的编码值。
其中,汉字统一采用了CJK统一汉字扩展A(CJK Unified Ideographs Extension A)和CJK统一汉字扩展B(CJK Unified Ideographs Extension B)等多个扩展区。
5. UTF-8,UTF-8是一种可变长度的Unicode编码方式,它可以表示任意Unicode字符。
UTF-8使用1到4个字节来表示不同的字符,其中包括了汉字。
这些字符集在不同的环境下使用,常见的应用包括操作系统、编程语言、文本编辑器、网页浏览器等。
使用不同的字符集可以满足不同的需求,如支持不同语言的文字显示和输入。
汉字字符集编码
汉字字符集编码
汉字字符集编码是指将汉字转换为计算机可以使用的编码方案,常用的汉字字符集编码方案有GBK、GB2312、UTF-8等。
以下是一些常见的汉字字符集编码及其用途:
1. GBK:GBK编码是将GB2312字符集扩展到5位,用于存储大部分中文汉字。
GBK编码在Windows和MacOS操作系统中广泛使用,也被许多中文应用(如网页、电子书等)所支持。
2. GB2312:GB2312编码是一种基于UTF-8的字符集编码方案,用于存储中文字符。
与UTF-8相比,GB2312在某些情况下可能会出现编码错误,但比UTF-8更稳定。
3. UTF-8:UTF-8是一种无符号多字节编码方案,可以表示任意汉字。
UTF-8编码在中文字符的存储和传输方面都是最好的选择,但在一些情况下可能会出现编码错误。
4. ASCII: ASCII编码是一种单字节编码方案,用于存储只有字符和符号。
虽然ASCII编码可以表示所有的中文字符,但在传输和存储时可能会出现编码错误。
在实际应用中,选择合适的汉字字符集编码方案取决于具体需求和设备。
常用的中文编码
常用的中文编码讲解在计算机科学中,编码是将信息转换为二进制或其他数字格式的过程。
中文编码则是将中文字符转换为计算机可以处理的数字格式。
本文将介绍几种常用的中文编码方式。
1.GB2312 GB2312是中国国家强制标准,包含了超过6000个常用汉字和非汉字字符。
它是由中国电子工业部制定并发布的。
GB2312的编码方式是每个字节代表一个字符,每个字节的最高位为0,剩下的7位用于表示字符的编码。
2.GBK GBK是GB2312的扩展,支持更多的汉字字符和符号。
它包含了超过20000个汉字和符号,以及一些常用的简体和繁体字。
GBK的编码方式与GB2312类似,但它使用两个字节来表示一个字符,每个字节的最高位为0,剩下的7位用于表示字符的编码。
3.GB18030 GB18030是中国最新的中文编码标准,也称为“中国统一代码”。
它包含了超过70000个汉字和符号,以及一些常用的简体和繁体字。
GB18030的编码方式与GBK类似,但它支持更多的字符和符号。
4.Big5 Big5是中国台湾地区使用的一种中文编码标准,也称为“大五码”。
它包含了超过13000个汉字和符号,以及一些常用的繁体字。
Big5的编码方式是每个字使用两个字节来表示,每个字节的最高位为1,剩下的7位用于表示字符的编码。
以上是几种常用的中文编码方式。
在实际应用中,我们需要根据不同的需求选择合适的编码方式。
例如,在网页开发中,我们通常使用UTF-8编码,因为它支持全球范围内的语言字符,并且与HTML和HTTP协议兼容。
在处理中文文本时,我们需要注意编码的转换和处理,以确保文本的正确显示和传输。
计算机的汉字编码
计算机的汉字编码计算机的汉字编码是指将汉字转化为数字代码的过程,以便计算机对其进行存储、处理和传输。
由于汉字数量庞大,不同语言和地区的汉字也有所不同,因此,计算机的汉字编码也分为不同的标准和方式。
下面我们来逐步了解计算机的汉字编码。
一、GB2312编码GB2312编码是中国国家标准的汉字编码,最早于1980年发布。
该编码涵盖了常用的6763个汉字和682个非汉字字符。
该编码采用双字节表示方式,其中高字节使用0xA1~0xFE之间的94个编码,低字节使用0xA1~0xFE之间的94个编码。
如汉字“中”在GB2312编码下是0xB1 0xA6。
二、GBK编码GBK编码是GB2312编码的扩展版本,在原有的基础上增加了近7000个汉字。
它同样采用双字节表示汉字,其中第一个字节的编码范围与GB2312相同,第二个字节的编码范围则是0xA1~0xFE之间的所有编码。
举个例子,汉字“哥”在GBK编码下是0xB8 0xDF。
三、GB18030编码GB18030编码是中国国家标准的最新汉字编码。
它包含了世界上所有现存和已知的汉字、形状异体字和少数民族文字。
该编码不仅支持单字节和双字节编码,还支持四字节编码,具有很高的容错性。
其中0x81~0xFE之间的所有字节都可以作为汉字的第一个字节,第二个字节也是0x40~0xFE之间的所有字节之一。
当使用四字节编码时,第三个字节为0x30~0x39,第四个字节为0x81~0xFE。
例如,“你好”在GB18030编码下是0xC4 0xE3 0xBA 0xC3。
四、UTF-8编码UTF-8编码是一种针对全球范围内的Unicode字符集而设计的一种多字节编码方案。
Unicode是一种字符编码,它将字符映射到数值编码,可以表示各种语言和符号。
UTF-8编码使用1~4个字节表示一个字符,其中一字节的编码范围与ASCII码相同,而其他字节的编码分别以“10”为开头。
这使得UTF-8编码在发送和存储Unicode字符集时可以比较节省空间,同时也保证了向后兼容性。
网页编码之GB2312、GBK与UTF-8的区别
⽹页编码之GB2312、GBK与UTF-8的区别⾸先,我们要明⽩,GB2312、GBK和UTF-8都是⼀种字符编码,除此之外,还有好多字符编码。
只是对于我们中国⼈的⽹站来说,⽤这三种编码⽐较多。
简单的说⼀下,为什么要⽤编码,在计算机内,储存⽂本信息⽤ASC II码,每⼀个字符对应着唯⼀的ASCII码。
最初计算机是由美国发明的,他们也⽤的是键盘和上⾯的字母,所以他们的字符ASCII好解决。
但是我们中国的就不同了,每个汉字要对应唯⼀的ASCII码。
这样,就出来了国家制定的字符编码标准:GB2312、GBK等。
其他国家,其他语⾔也有他们对应的编码标准。
GB 就是国标的意思,GB2312和GBK主要⽤于汉字的编码,⽽UTF-8是全世界通⽤的。
意思就是说,如果你的⽹页主要⾯对使⽤汉语的中国⼈的话,使⽤ GB2312和GBK⾮常好,⽂字储存体积要⼩,有⼀些优点。
如果你的⽹页要⾯向世界的话,你再⽤GB2312和GBK作为⽹页编码的话,有些电脑上的浏览器没有这种编码,你的⽹页汉字内容就会变成⽆法识别的乱码。
它们通常⽤在⽹页的meta标签内,例如:,表⽰这个页⾯使⽤的是GB2312编码。
这个信息是给浏览器看的,浏览器会优先考虑使⽤从⽹页头部提取出来的编码信息对⽹页进⾏解码。
当然,我们也可以强制浏览器使⽤某种编码解释⽹页,这样我们就看到了传说中的乱码。
GBK、GB2312等与UTF8之间都必须通过Unicode编码才能相互转换:GBK、GB2312--Unicode--UTF8UTF8--Unicode--GBK、GB2312对于⼀个⽹站、论坛来说,如果英⽂字符较多,则建议使⽤UTF-8节省空间。
不过现在很多论坛的插件⼀般只⽀持GBK。
如果是中⽂的⽹站推荐GB2312 GBK有时还是有点问题为了避免所有乱码问题,应该采⽤UTF-8,将来要⽀持国际化也⾮常⽅便 UTF-8可以看作是⼤字符集,它包含了⼤部分⽂字的编码。
简述汉字编码的种类和用途
简述汉字编码的种类和用途
汉字编码是指对汉字进行数字化表示的方式。
目前常用的汉字编码有多种种类,每种都有其特定的用途。
1. GB2312编码: GB2312是中国国家标准委员会于1980年发
布的汉字编码标准,包括了6,763个常用汉字以及非汉字字符。
它是最早的汉字编码标准,用于表示简体字。
2. GBK编码: GBK是在GB2312基础上进行了扩展的汉字编码标准,于1995年发布。
它包括了21,893个汉字和一些非汉字
字符,适用于中文字符的表示。
3. GB18030编码: GB18030是中国国家标准委员会于2005年
发布的扩展汉字编码标准,包括了27,533个汉字以及大量非
汉字字符。
它是对GB2312和GBK编码的进一步扩展,能够
表示目前已知的所有汉字。
4. Unicode编码: Unicode是一种国际标准字符编码体系,可以
表示世界上几乎所有的文字。
其中,汉字部分被统称为CJK
统一汉字,被分为基本汉字区、扩展A区和扩展B区等。
5. UTF-8编码: UTF-8是一种变长编码形式,可以用来表示Unicode字符集中的所有字符。
它是当前互联网上最常用的字
符编码方式之一,具有较好的兼容性和扩展性。
这些汉字编码标准在计算机系统中用于汉字的输入、存储和显示,以及在通信、互联网、数据库等领域中的文本处理。
不同
的汉字编码标准有不同的兼容性和适用范围,选择合适的编码方式可以确保汉字正确地传输和显示。
XML文件编码GBK,GB2312
XML文件编码GBK,GB2312XML文件编码GBK,GB2312GB2312可以认为是GBK的子集,即GBK编码是在gb2312上扩展来的,GB18030是最全的中文编码。
正好碰到一个GBK编码的xml,在用jdom读取的时候发现有一些字符变成乱码。
用IE打开xml文件显示也都是完全正确的,后来发现问题的所在特此写出来以供大家借鉴吧~~症状:XML文件中指定了字符集为gb2312(虽然后来证实应该是gbk的编码),使用ie可以正常打开无乱码,但是用jdom读取的时候有部分乱码产生。
解决办法:因为只有一部分是乱码,所以猜测应该是字符集应该是gbk而不是gb2312,因此用下面两个办法都可以解决,让jdom使用gbk来读取文件。
1. 直接将xml文件里面指定字符集为gbk。
这个没什么说的。
2. 如果在不修改xml的情况下,可以用下面的办法来解决。
一般情况下,我们都习惯用下面的方法来实例化一个Document 对象SAXBuilder builder = new SAXBuilder();Document doc = builder.build(new File(filePath));但是因为这样的话实际上输入到jdom中的stream还是由gb2312编码的,并不是gbk编码的,因此会导致得到的数据中有部分是乱码。
而在SAXBuilder.build()这个方法中,传入的参数类型可以File,或者InputStreamReader。
File类型当中是没有办法指定编码的,但是InputStreamReader可以,因此可以用下面的办法获取Document 对象。
假设文件路径为filePathInputStreamReader isr = new InputStreamReader(new FileInputStream(filePath),"gbk");SAXBuilder builder = new SAXBuilder();Document doc = builder.build(isr);这样的话Jdom就可以正常获取GBK编码的xml文件了。
汉字机内码转换算法
汉字机内码转换算法汉字机内码通常指的是汉字在计算机中的字符编码,常见的编码方式包括GB2312、GBK、UTF-8等。
不同的编码方式使用不同的算法来进行字符的编码和解码。
下面简要介绍一下常见的几种编码方式的算法:1. GB2312编码:- GB2312是一种双字节的编码方式,其中每个字节的范围是0xA1-0xF7,每个字可以用两个字节表示。
-汉字的GB2312编码是通过取得汉字的区位码(高字节是区码,低字节是位码)来确定的。
2. GBK编码:- GBK是对GB2312的扩展,支持更多的汉字字符。
同样是双字节编码,其中有一部分字符的编码与GB2312相同,而其他字符使用了扩展区。
- GBK编码同样通过区位码来表示汉字的位置。
3. UTF-8编码:- UTF-8是一种可变长度的编码方式,用1到4个字节表示一个字符。
ASCII字符使用一个字节表示,而汉字通常使用三个字节表示。
-UTF-8编码的算法是根据字符的Unicode码来确定的,不同的Unicode码对应不同长度的字节序列。
4. UTF-16编码:-UTF-16也是一种可变长度的编码方式,使用2个字节或4个字节表示一个字符,根据字符的Unicode码来确定字节序列。
-对于常见的字符,使用两个字节表示,而罕见字符使用四个字节。
5. UTF-32编码:-UTF-32是一种固定长度的编码方式,使用4个字节表示一个字符,直接使用Unicode 码。
在实际编程中,通常使用现代编程语言提供的库函数来进行字符编码和解码,而不需要手动实现这些算法。
例如,在Python中,可以使用`encode`和`decode`方法来进行字符编码和解码。
在其他语言中也有类似的函数和库。
汉字字符集的概念
“计算机文化基础”教学辅导三Word 2000一、汉字字符集的概念1、国标GB2312-80《信息交换用汉字编码字符集》:该字符集收录了6763个常用汉字,其中一级汉字3755个,二级汉字3008个。
另外还收录了各种符号682个,合计7445个。
2、国标GB13000.1-1993(等同于国际标准ISO/IEC 10646.1-1993)《通用多八位编码字符集(UCS)第一部分:体系结构与基本多文种平面》:又称大字符集字库GBK,是《GB2312-80》、《GB12345-90》、《BIG5》等字符集标准的超集,一共收录了中、日、韩20902个汉字。
3、国标GB18030-2000《信息交换用汉字编码字符集基本集的扩充》是未来我国计算机系统必须遵循的基础性标准之一,收录了27564个汉字。
二、汉字信息的编码知识1、区位码:GB2312-80字符集,组成一个94*94的矩阵。
每一行称为一个“区”,每一列称为一个“位”。
一个汉字的区号和位号合在一起构成“区位码”,区位码的编码范围是:0101~9494。
2、国标码:国标码=(区位码的十六进制表示)+2020H,国标码的取值范围:2121H~7E7EH。
3、机内码:中文或西文信息在计算机系统中的代码表示称为机内码。
ASCII码是一种西文机内码,用一个字节表示。
汉字机内码用连续两个字节表示,每个字节的最高位是1。
机内码= 国标码+8080H =(区位码的十六进制表示)+A0A0H。
GB2312-80的机内码编码范围为:A1A1H~FEFEH。
4、输入码:汉字输入码是指直接从键盘输入的各种汉字输入方法的编码,属于外码。
主要分顺序码(无重码)、音码、形码和音形码或形音码四类。
5、字形码:(1)向量(矢量)法:将汉字分解成笔画,每种笔画使用一段段的直线(向量)近似地表示,这样每个字形都可以变成一连串的向量。
(2)点阵法(字模点阵码):每一个汉字以点阵形式存储在记录介质上,有点的地方为“1”,空白的地方为“0”。
各类内码详细解析
转换内码gb2312为utf-8各类内码详细解析[日期:2009-04-29] 来源: 作者:sdiel 阅读:3706 次 [字体:大中小]GB2312 字符集GB2312又称为GB2312-80字符集,全称为《信息交换用汉字编码字符集·基本集》,由原中国国家标准总局发布,1981年5月1日实施,是中国国家标准的简体中文字符集。
它所收录的汉字已经覆盖99.75%的使用频率,基本满足了汉字的计算机处理需要。
在中国大陆和新加坡获广泛使用。
powered by GB2312收录简化汉字及一般符号、序号、数字、拉丁字母、日文假名、希腊字母、俄文字母、汉语拼音符号、汉语注音字母,共7445 个图形字符。
其中包括6763个汉字,其中一级汉字3755个,二级汉字3008个;包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符。
GB2312中对所收汉字进行了“分区”处理,每区含有94个汉字/符号。
这种表示方式也称为区位码。
它是用双字节表示的,两个字节中前面的字节为第一字节,后面的字节为第二字节。
习惯上称第一字节为“高字节” ,而称第二字节为“低字节”。
“高位字节”使用了0xA1-0xF7(把01-87区的区号加上0xA0),“低位字节”使用了0xA1-0xFE(把01-94加上0xA0)。
以GB2312字符集的第一个汉字“啊”字为例,它的区号16,位号01,则区位码是1601,在大多数计算机程序中,高字节和低字节分别加0xA0得到程序的汉字处理编码0xB0A1。
计算公式是:0xB0=0xA0+16, 0xA1=0xA0+1。
GBK字符集GBK字符集是GB2312的扩展(K),GBK1.0收录了21886个符号,它分为汉字区和图形符号区,汉字区包括21003个字符。
GBK字符集主要扩展了繁体中文字的支持。
BIG5 字符集BIG5又称大五码或五大码,1984年由台湾财团法人信息工业策进会和五间软件公司宏碁(Acer)、神通(MiTAC)、佳佳、零壹(Zero One)、大众(FIC)创立,故称大五码。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、GB2312、GB 13000、GBK、GB18030 介绍GB 2312:又称为GB 2312-80,是一个简体中文字符集的中国国家标准,于1980年由中国国家标准总局发布,1981年5月1日实施,全称为《信息交换用汉字编码字符集基本集》,规定了6763个汉字和682个非汉字图形。
GB 13000:为了便于多个文种的同时处理,国际标准化组织下属编码字符集工作组研制了新的编码字符集标准,ISO/IEC 10646。
该标准第一次颁布是在1993年,当时只颁布了其第一部分,即ISO/IEC 10646.1: 1993,我国相应的国家标准是GB 13000.1-93《信息技术通用多八位编码字符集(UCS) 第一部分:体系结构与基本多文种平面》。
制定这个标准的目的是对世界上的所有文字统一编码,以实现世界上所有文字在计算机上的统一处理。
GBK:随着信息技术在各行业应用的深入,GB 2312 收录汉字数量不足的缺点已经初步显露出来。
例如:"镕"字现在是高频率使用字,而GB 2312 却没有为它编码,因而,政府、新闻、出版、印刷等行业和部门在使用中感到十分不便。
1995年,全世界大多数的PC 操作系统都实现了16/32 位。
GB 13000.1 的实现出现了一线曙光。
一方面为了对GB 2312 进行扩充,一方面顺应当时技术的发展向GB 13000.1 推进,同时兼顾当时最广泛采用GB 2312 内码系统。
原电子部和原国家技术监督局联合颁布了指导性技术文件《汉字内码扩展规范》1.0版,即GBK 。
在GBK的内码系统中,GB 2312 汉字所在码位保持不便,这样,保证了GBK 对GB 2312 的完全兼容。
同时,GBK 内码与GB 13000.1 代码一一对应,为GBK 向GB 13000.1 的转换提供了解决办法。
微软对GB 2312 的扩展,也就是CP936 字码表(Code Page 936)的扩展(原来的CP936 和GB 2312-80 一模一样),最初出现于Windows 95 简体中文版中。
注意GBK 并非国家正式标准,只是国家技术监督局标准化司、电子工业部科技与质量监督司发布的“技术规范指导性文件”。
虽然GBK 收录了所有Unicode 1.1 及GB 13000.1-93 之中的汉字,但是编码方式与Unicode 1.1 及GB 13000.1-93 不同。
仅仅是GB 2312 到GB 13000.1-93 之间的过渡方案。
GB 18030-2000:1995年之后的实践表明,GBK 作为行业规范,缺乏足够的强制力,不利于其本身的推广,而我们寄予厚望的GB 13000 的实现又脚步缓慢,现有汉字编码字符集标准已经不能满足我国信息化建设的需要。
为此,原国家质量技术监督局和信息产业部组织专家制定发布了新的编码字符集标准,GB 18030-2000《信息技术信息交换用汉字编码字符集基本集的扩充》。
GB 18030-2000 收录了ISO/IEC 10646.1: 2000的全部27484个CJK 统一汉字,13个表意文字描述符、部分汉字部首和部件、欧元符号。
在编码体系上,GB 18030 统一了内码和交换码的概念。
它完全兼容GB 2312 和GBK 的编码体系,继承GBK 的代码映射表的优点,解决了GB 18030 和GB 13000 之间的代码转换。
GB 18030-2005:全称:国家标准GB 18030-2005《信息技术中文编码字符集》,是中华人民共和国目前最新的内码字符集,是GB 18030-2000《信息技术信息交换用汉字编码字符集基本集的扩充》的修订版。
与GB 2312-1980 完全兼容,与GBK 基本兼容,支持GB 13000 及Unicode 的全部统一汉字,共收录汉字70244个。
2、GB 18030的优点1)编码汉字数量大与西方文字不同,汉字是表意文字,成千上万的不同含义需要成千上万的不同汉字来表示。
西方文字主要是拼音文字,通过几十个字母的组合就可以变出成千上万的单词。
在计算机里面,西方文字只需要给几十个字母编码就够了,而每一个汉字都要一个编码才行。
根据专家的统计,一般中文应用系统需要13,000个左右的汉字,大型中文应用系统需要23,000个左右的汉字,政府机关的专用中文应用系统需要48,000个左右的汉字,而图书馆用的中文应用系统需要的汉字可能超过10万。
GB 18030-2000达到了27484个汉字,基本上可以满足目前政府机关内部工作、政府机关的网上工作、电子商务、以及其他网上服务行业的需要。
此外,GB 18030还提供了13汉字结构符和一些汉字部件,为某些尚未编码的汉字的解决提供了方案。
不仅如此,GB 18030建立的编码体系提供了超过150万个编码位置的编码空间,为未来增补汉字作了充分准备。
一旦本标准得到实现,类似"镕"字的人名、地名在计算机输入中遇到的困难将越来越少,直至最终完全解决。
2)对GB 2312、GBK和GB 13000的兼容GB 18030通过提供完整、清晰、明确的代码映射表,采用GB 18030的计算机系统可以轻易地识别和处理GB 2312和GBK编码,降低了系统改造/升级的成本。
如果未来需要采用GB 13000,则通GB 18030和GB 13000代码的映射表可以轻松地在二者之间进行转换。
3)对字符编码技术的发展的贡献在现有系统中,字符编码空间十分有限,例如:GBK只提供了23940个编码位置。
GB 18030通过对编码空间的扩展提供了超过160万个编码位置(23949+1587600)。
可以自信地说,不仅我国所有汉字都可以在这个标准里面编码,而且我国所有少数民族文字也可以在这个标准里面编码,从此不必再担心编码空间不足的问题了。
4)对标准的用户自定义区和标准保留区的使用做了明确、详细的规定根据经验,标准或规范的使用者往往误以为标准的用户自定义区和标准保留区可以任意使用,完全自由,因而在标准、规范的实现中自作主张,各按所需使用。
实践证明,这种做法非常危险,造成的后果十分严重。
GB 18030在研制中充分考虑了标准的用户自定义区和标准表留区的问题,明确而详细规定了其使用方法,要求所有标准实现者必须按照标准做,彻底杜绝了类似问题的再次出现。
5)强制性国家标准直到不久之前,还经常有人抱怨编码的汉字太少了,只有GB 2312的6763个汉字,不能满足使用要求。
而此时,收录了20954个汉字的GBK早已发布并在一些操作系统上实现多年了。
经过调查发现:由于GBK 是个行业规范,缺乏足够的强制力,很多软件开发商并不实现这个规范。
而产品的最终用户由于不知道还有这样一个规范,不知道要求软件开发商来实现它。
而GB 18030是个强制性标准,解决了这个问题。
首先,软件开发商不得不重视标准,实现标准。
其次,标准的知名度要大大高于规范的知名度,而强制性标准的知名度更高。
中文软件的最终用户知道了由一个两万七千汉字的标准,就会要求软件开发商来实现。
3、国标码(国家标准代码)国家标准代码,简称国标码,是中国的中文常用汉字编码集,也被新加坡采用。
现在GB 18030 为中国强制性国家标准,但较旧的计算机仍然使用GB 2312 。
较常见的国家汉字标准代码列表:GB 2312-80信息交换用汉字编码字符集基本集(又称为GB0)GB 13000-93信息技术通用多八位编码字符集(UCS)第一部分GB 18030-2005信息技术中文编码字符集其他中华人民共和国发布有关汉字标准代码列表:GB/T 12345 - 90信息交换用汉字编码字符集第一辅助集(又称为GB1)GB/T 7589 - 87信息交换用汉字编码字符集第二辅助集(又称为GB2)GB 13131 - 91信息交换用汉字编码字符集第三辅助集(又称为GB3)GB/T 7590 - 87信息交换用汉字编码字符集第四辅助集(又称为GB4)GB 13132 - 91信息交换用汉字编码字符集第五辅助集(又称为GB5)GB/T 16500 - 1998信息交换用汉字编码字符集第七辅助集国家推荐标准以"/T" 来表示并非强制执行。
由于GB 2312-80只收录了6763个汉字,未能覆盖繁体中文字、部分人名、方言、古汉语等方面出现的罕用字,所以发布了以上的辅助集。
其中,GB/T 12345-90辅助集是GB 2312-80基本集的繁体字版本;GB 13131-91是GB/T 7589-87的繁体字版本;GB 13132-91是GB/T 7590-87的繁体字版本。
而GB/T 16500-1998是繁体字版本,它并无对应的简体字版本。
鉴于第二辅助集及第四辅助集,有不少汉字均是“类推简化汉字”,实用性不高,因而较少人采用,而且没有收入通用字符集ISO/IEC 10646 标准中。
中国国家标准总局于2000年推出强制性的GB 18030-2000标准。
于2001年8月31日后发布或出厂的产品,必须符合GB 18030-2000的相关要求。
这个标准的最新版本是GB 18030-2005,它的2字节部分是强制性的。
4、BIG5繁体中文字符集Big5,又称为大五码或五大码,是使用繁体中文的地区中常用的电脑汉字字符集标准,共收录13060个汉字,2003年,新版本发布,称为Big5-2003 。
Big5 常用于台湾、香港与澳门等使用繁体中文的地区,倚天中文系统、Windows 等主要系统的字符集都是以Big5 为基准,但厂商又各自增删,衍生成多种不同版本。
中文电脑流行后,由于很多字被认为是异体字而未被收录。
例如常见的人名用字(如“堃”、“煊”、“栢”(歌手张柏芝)、“喆”(歌手陶喆)等),虽被中文社会广泛采用,也没有收录到Big5 之中。
在互联网上,常看到人们把堃、煊、喆等字,写成为“方方土”、“火宣”和“吉吉”等写法。
电视上日本动画的中文字幕中也会看到像“木坚”这样的字。
由于各厂商及政府推出的Big5 延伸,彼此互不兼容,造成乱码问题。
因为Unicode 能正确地处理七万多个汉字,近年的操作系统和应用程序(如苹果电脑Mac OS X 和以Cocoa API 编写的程序、Microsoft Windows 2000 及之后版本、Microsoft Office 2000 及之后版本、Mozilla 浏览器、Internet Explorer 浏览器、Java 语言等等),已改用Unicode 编码。
可惜现时仍有一些旧的软件(如Visual Basic 6、部分Telnet 或BBS 软件),未能支持Unicode 编码,所以预计Big5 缺字的问题仍会困扰用户一段时间,直到所有程序都能改用Unicode 为止。