字体里面GB和GBK有什么区别? 一款中文字体的「简体」和「GBK」版本有哪些区别?
\u5b57\u4f53\u6587\u4ef6\u540e\u7f00\u201c\u2014GBK\u201d\u548c\u201c\u2014GB\u201d\u662f\u4ec0\u4e48\u610f\u601d\uff1f\u6ca1\u5565\u610f\u601d
GBK\u4e3a\u5927\u5b57\u5e93\uff0c\u5305\u542bGB2312\u4e0d\u5305\u542b\u7684\u5f88\u591a\u5b57\u7b26\u5b57\u578b\uff0c\u8f83\u4e3a\u5168\u9762\u3002
1、全称不一样。
GB字体全称GB2312或GB2312-80,是一个简体中文字符集的中国国家标准,全称为《信息交换用汉字编码字符集--基本集》,由中国国家标准总局发布,1981年5月1日实施。
GBK全名为汉字内码扩展规范,英文名Chinese Internal Code Specification。K 即是“扩展”所对应的汉语拼音(KuoZhan)中“扩”字的声母。
2、收录的汉字规模不同。
GB2312标准共收录6763个汉字, GB2312中对所收汉字进行了“分区”处理,每区含有94个汉字/符号。这种表示方式也称为区位码。
GBK汉字国标扩展码,基本上采用了原来GB2312-80所有的汉字及码位,并涵盖了原Unicode中所有的汉字20902,总共收录了883个符号, 21003个汉字及提供了1894个造字码位。
3、可输出格式不同。
GB可以输出简体中文,GBK则可以输出简/繁体中文。如部分于GB2312-80推出后才简化的汉字(如“啰”),部分人名用字(如中国前总理朱镕基的“镕”字),台湾及香港使用的繁体字,日语及朝鲜语汉字等,GB字库并未有收录在内,而拓展后的GBK字库则可以输出。
GBK 是又一个汉字编码标准,全称《汉字内码扩展规范》(GBK),英文名称 Chinese Internal Code Specification ,中华人民共和国全国信息技术标准化技术委员会 1995 年 12 月 1 日制订,国家技术监督局标准化司、电子工业部科技与质量监督司 1995 年 12 月 15 日联合以技监标函 [1995] 229 号文件的形式,将它确定为技术规范指导性文件,发布和实施。这一版的 GBK 规范为 1.0 版。GB 即“国标”,K 是“扩展”的汉语拼音第一个字母。
GBK 向下与 GB 2312 编码兼容,向上支持 ISO 10646.1 国际标准,是前者向后者过渡过程中的一个承上启下的标准。
ISO 10646 是国际标准化组织 ISO 公布的一个编码标准,即 Universal Multilpe-Octet Coded Character Set(简称 UCS),大陆译为《通用多八位编码字符集》,台湾译为《广用多八位元编码字元集》,它与 Unicode 组织的 Unicode 编码完全兼容。ISO 10646.1 是该标准的第一部分《体系结构与基本多文种平面》。我国 1993 年以 GB 13000.1 国家标准的形式予以认可(即 GB 13000.1 等同于 ISO 10646.1)。
ISO 10646 是一个包括世界上各种语言的书面形式以及附加符号的编码体系。其中的汉字部分称为“CJK 统一汉字”(C 指中国,J 指日本,K 指朝鲜)。而其中的中国部分,包括了源自中国大陆的 GB 2312、GB 12345、《现代汉语通用字表》等法定标准的汉字和符号,以及源自台湾的 CNS 11643 标准中第 1、2 字面(基本等同于 BIG-5 编码)、第 14 字面的汉字和符号。
一、字汇
GBK 规范收录了 ISO 10646.1 中的全部 CJK 汉字和符号,并有所补充。具体包括:
1. GB 2312 中的全部汉字、非汉字符号。
2. GB 13000.1 中的其他 CJK 汉字。以上合计 20902 个 GB 化汉字。
3. 《简化字总表》中未收入 GB 13000.1 的 52 个汉字。
4. 《康熙字典》及《辞海》中未收入 GB 13000.1 的 28 个部首及重要构件。
5. 13 个汉字结构符。
6. BIG-5 中未被 GB 2312 收入、但存在于 GB 13000.1 中的 139 个图形符号。
7. GB 12345 增补的 6 个拼音符号。
8. 汉字“○”。
9. GB 12345 增补的 19 个竖排标点符号(GB 12345 较 GB 2312 增补竖排标点符号 29 个,其中 10 个未被 GB 13000.1 收入,故 GBK 亦不收)。
10. 从 GB 13000.1 的 CJK 兼容区挑选出的 21 个汉字。
11. GB 13000.1 收入的 31 个 IBM OS/2 专用符号。
二、码位分配及顺序
GBK 亦采用双字节表示,总体编码范围为 8140-FEFE,首字节在 81-FE 之间,尾字节在 40-FE 之间,剔除 xx7F 一条线。总计 23940 个码位,共收入 21886 个汉字和图形符号,其中汉字(包括部首和构件)21003 个,图形符号 883 个。
全部编码分为三大部分:
1. 汉字区。包括:
a. GB 2312 汉字区。即 GBK/2: B0A1-F7FE。收录 GB 2312 汉字 6763 个,按原顺序排列。
b. GB 13000.1 扩充汉字区。包括:
(1) GBK/3: 8140-A0FE。收录 GB 13000.1 中的 CJK 汉字 6080 个。
(2) GBK/4: AA40-FEA0。收录 CJK 汉字和增补的汉字 8160 个。CJK 汉字在前,按 UCS 代码大小排列;增补的汉字(包括部首和构件)在后,按《康熙字典》的页码/字位排列。
2. 图形符号区。包括:
a. GB 2312 非汉字符号区。即 GBK/1: A1A1-A9FE。其中除 GB 2312 的符号外,还有 10 个小写罗马数字和 GB 12345 增补的符号。计符号 717 个。
b. GB 13000.1 扩充非汉字区。即 GBK/5: A840-A9A0。BIG-5 非汉字符号、结构符和“○”排列在此区。计符号 166 个。
3. 用户自定义区:分为(1)(2)(3)三个小区。
(1) AAA1-AFFE,码位 564 个。
(2) F8A1-FEFE,码位 658 个。
(3) A140-A7A0,码位 672 个。
第(3)区尽管对用户开放,但限制使用,因为不排除未来在此区域增补新字符的可能性。
三、字形
GBK 对字形作了如下的规定:
1. 原则上与 GB 13000.1 G列(即源自中国大陆法定标准的汉字)下的字形/笔形保持一致。
2. 在 CJK 汉字认同规则的总框架内,对所有的 GBK 编码汉字实施“无重码正形”(“GB 化”);即在不造成重码的前提下,尽量采用中国新字形。
3. 对于超出 CJK 汉字认同规则的、或认同规则尚未明确规定的汉字,在 GBK 码位上暂安放旧字形。这样,在许多情况下 GBK 收入了同一汉字的新旧两种字形。
4. 非汉字符号的字形,凡 GB 2312 已经包括的,与 GB 2312 保持一致;超出 GB 2312 的部分,与 GB 13000.1 保持一致。
5. 带声调的拼音字母取半角形式。
简单地说,GBK字体既能繁体字用,也能简体字用,一般字体只能繁体字用或者只能简体字用,Windows自带的中文字体全是GBK字体。但是从网上下载的字体中,GBK字体是很难得的。比如“方正准圆简体”只能简体字用,你将一个繁体字设置成“方正准圆简体”,它只会显示系统默认字体。
关于GB与BIG5码的判别,没有100%可靠的方法。但是从两个编码系统汉字的分布来看,
还有可以作一定的判断的。
GB码的编码范围是首字节A1-F7,尾字节A1-FE,而且首字节A1-A9是符号区,AA-AF这
一段没有定义。BIG5码的编码范围是首字节A1-F9,尾字节分两段,分别是40-7E及
A1-FE,首字节A1-A3是符号区,A4-C5是常用汉字区。
这样我们可以找到几个依据:
1)尾字节40-7E是BIG5码特有的,可以以此来判别,但是现在GBK在这个码区也定义了
字符,不过这些汉字的使用频度不高,所以仍然可以作为一条依据,但无法保证100%
正确;
2)首字节A4-A9在GB中为日文假名、希腊字母、俄文字母和制表符,正常文本中很少
出现,AA-AF则根本没有定义,但这个范围却是BIG5码的常用汉字,所以如果文本中
频繁出现这个范围的码,也可以认为是BIG5码。尤其是首字节位于AA-AF之间,尾字
节位于A1-FE的,几乎100%是BIG5码无疑,因为即使在GBK中,这个范围也是没有定
义的。
为了提高识别的正确率,最好多种判据同时使用。另外还可以通过分析汉字出现的频
率,或查找某些常用的词组来判别。因为做起来比较复杂,就不多说了。
首字节C6-D7,尾字节A1-FE在GB中属于一级字库,是常用汉字,而在BIG5中,C6-C7没
有明确定义,但通常用来放日文假名和序号,C8-D7属于罕用汉字区。所以如果这个范
围的码出现较多,可以判别为GB码。
简单的说就是GB可以输出简体中文,GBK则可以输出简/繁体中文!
绛旓細gb鍥芥爣 gbk鍥芥爣鎵╁睍 gbk閲鍙互杈撳叆涓浜涚敓鍍绘眽瀛椼傞氬父鍏ㄦ嫾杈撳叆娉曞氨鍙互銆
绛旓細淇濈暀浜嗘墍鏈G B2312缂栫爜,鍦ㄦ鍩虹涓婅繘琛岀紪鐮佽寖鍥寸殑鎵╁厖.瀹圭撼(鍖呭惈鐗规畩瀛楃)鍏22014涓瓧绗︾紪鐮.gb18030缂栫爜鏄湪gbk缂栫爜鍩虹涓婄殑鎵╁厖锛屽洜涓烘眽瀛楁洿澶氾紝浠呬粎浣跨敤涓や綅缂栫爜宸茬粡涓嶈兘瀹圭撼瑕佹眰鐨勬眽瀛楋紝鎵浠ラ噰鐢ㄤ簡2\4浣嶆贩鍜岀殑鍔炴硶锛屽彲浠ユ敮鎸佹洿澶氱殑姹夊瓧缂栫爜銆傚苟涓斾繚鐣欎簡鍘鏈夌殑gbk 2瀛楄妭缂栫爜鍏煎G B2312鍜実bk缂栫爜鐨...
绛旓細1980骞鐨凣B2312涓鍏辨敹褰曚簡7445涓瓧绗︼紝鍖呮嫭6763涓眽瀛楀拰682涓叾瀹冪鍙枫傛眽瀛楀尯鐨勫唴鐮佽寖鍥撮珮瀛楄妭浠嶣0-F7锛屼綆瀛楄妭浠嶢1-FE锛屽崰鐢ㄧ殑鐮佷綅鏄72*94=6768銆傚叾涓湁5涓┖浣嶆槸D7FA-D7FE GBK: 姹夊瓧鍥芥爣鎵╁睍鐮,鍩烘湰涓婇噰鐢ㄤ簡鍘熸潵GB2312-80鎵鏈夌殑姹夊瓧鍙婄爜浣嶏紝骞舵兜鐩栦簡鍘烾nicode涓鎵鏈夌殑姹夊瓧20902锛屾诲叡鏀跺綍浜883...
绛旓細涔犳儻涓婄О鍥芥爣鐮併GB 鐮侊紝鎴栧尯浣嶇爜銆傚畠鏄竴涓畝鍖瀛姹夊瓧鐨勭紪鐮侊紝閫氳浜庝腑鍥藉ぇ闄嗗湴鍖恒傛柊鍔犲潯绛夊湴涔熶娇鐢ㄨ繖涓缂栫爜銆 GB 2312-80 鏀跺綍绠鍖栨眽瀛楀強涓鑸鍙枫佸簭鍙枫佹暟瀛椼佹媺涓佸瓧姣嶃佹棩鏂囧亣鍚嶃佸笇鑵婂瓧姣嶃佷縿鏂囧瓧姣嶃佹眽璇嫾闊崇鍙枫佹眽璇敞闊冲瓧姣嶏紝鍏 7445 涓浘褰㈠瓧绗︺傚叾涓眽瀛椾互澶栫殑鍥惧舰瀛楃 682 涓紝姹夊瓧 ...
绛旓細B2312缂栫爜,鍦ㄦ鍩虹涓婅繘琛岀紪鐮佽寖鍥寸殑鎵╁厖.瀹圭撼(鍖呭惈鐗规畩瀛楃)鍏22014涓瓧绗︾紪鐮.gb18030缂栫爜鏄湪gbk缂栫爜鍩虹涓婄殑鎵╁厖锛屽洜涓烘眽瀛楁洿澶氾紝浠呬粎浣跨敤涓や綅缂栫爜宸茬粡涓嶈兘瀹圭撼瑕佹眰鐨勬眽瀛楋紝鎵浠ラ噰鐢ㄤ簡2\4浣嶆贩鍜岀殑鍔炴硶锛屽彲浠ユ敮鎸佹洿澶氱殑姹夊瓧缂栫爜銆傚苟涓斾繚鐣欎簡鍘鏈夌殑gbk 2瀛楄妭缂栫爜鍏煎G B2312鍜実bk缂栫爜鐨勬枃浠躲傚ぇ姒傚绾...
绛旓細瀛楀簱 鍥藉GB2312绠浣撳瓧搴 GBK 鍚戜笅涓 GB 2312 缂栫爜鍏煎锛屽悜涓婃敮鎸 ISO 10646.1 鍥介檯鏍囧噯锛屾槸鍓嶈呭悜鍚庤呰繃娓¤繃绋涓殑涓涓壙涓婂惎涓嬬殑鏍囧噯銆侷SO 10646 鏄浗闄呮爣鍑嗗寲缁勭粐 ISO 鍏竷鐨勪竴涓紪鐮佹爣鍑
绛旓細浠嶨B2312銆GBK 鍒 GB18030锛岃繖浜涚紪鐮佹柟娉曟槸鍚戜笅鍏煎鐨勶紝鍗冲悓涓涓瓧绗﹀湪杩欎簺鏂规涓鎬绘槸鏈夌浉鍚岀殑缂栫爜锛屽悗闈㈢殑鏍囧噯鏀寔鏇村鐨勫瓧绗︺傚湪杩欎簺缂栫爜涓紝鑻辨枃鍜屼腑鏂囧彲浠ョ粺涓鍦板鐞嗐傚尯鍒嗕腑鏂囩紪鐮佺殑鏂规硶鏄珮瀛楄妭鐨勬渶楂樹綅涓嶄负 0銆傛寜鐓х▼搴忓憳鐨勭О鍛硷紝GB2312銆丟BK 鍒 GB18030 閮藉睘浜庡弻瀛楄妭瀛楃闆 (DBCS)銆
绛旓細GBK鏄竴绉嶇紪鐮佹柟寮忥紝閫氬父鐢ㄤ簬姹夊瓧鍜屼竴浜涘叾浠栦簹娲茶瑷鐨瀛楃缂栫爜銆傚畠鏄疓B2312缂栫爜鐨勫崌绾х増锛屾墿鍏呬簡鍏朵腑鐨勫瓧绗﹂泦銆侴BK缂栫爜鍖呭惈浜21886涓眽瀛楋紝瑕嗙洊浜嗗ぇ閮ㄥ垎涓枃瀛楃锛屽悓鏃跺鍔犱簡灏戦噺鐨勯煩鏂囧拰鏃ユ枃瀛楃銆傚洜姝わ紝鍦ㄤ腑鏂囩綉绔欏拰鏂囨。鐨勭紪鐮涓锛GBK鏈鐫骞挎硾鐨勫簲鐢ㄣ傚湪璁$畻鏈烘妧鏈笉鏂繘姝ョ殑浠婂ぉ锛孏BK缂栫爜宸查愭笎琚洿鍏堣繘...
绛旓細杩欎竴鐗鐨凣BK瑙勮寖涓1.0鐗堛傛垜浠粡甯镐娇鐢ㄥ悇绉嶇紪鐮佹爣鍑嗙殑姹夊瓧锛岀紪鐮佸埌搴曟槸浠涔鍛紵鎵璋撶紪鐮侊紝鏄互鍥哄畾鐨勯『搴忔帓鍒楀瓧绗︼紝骞朵互姝ゅ仛涓鸿褰曘佸瓨璐佷紶閫掋佷氦鎹㈢殑缁熶竴鍐呴儴鐗瑰緛锛岃繖涓瓧绗︽帓鍒楅『搴忚绉颁负鈥滅紪鐮佲濄傚拰涓枃瀛楀簱鏈夊叧鐨勭紪鐮佹爣鍑嗘湁锛氬浗鏍嘒B鐮併丟BK鐮併佹腐鍙癇IG-5鐮佺瓑锛涓嶅悓缂栫爜鐨勬眽瀛楀瓧搴撻兘涓庢眽瀛楃殑搴旂敤...
绛旓細GBK瀛楃闆涓嶨B2312瀛楃闆鐨勫尯鍒鏄寘鍚殑瀛楁暟涓嶅悓銆傚鏋滀綘鐨勮緭鍏ユ硶杞欢鍙敮鎸丟B2312瀛楃闆嗙殑璇濓紝閭e氨鍙兘杈撳叆6763涓父鐢ㄦ眽瀛楋紱鑰屾敮鎸丟BK瀛楃闆嗙殑璇濆氨鑳借緭鍏BK鍏ㄩ儴21003涓畝绻佷綋姹夊瓧杈撳叆锛涘鏋滄敮鎸丟B18030鐨勮瘽灏辫兘杈撳叆GB18030鍏ㄩ儴27533涓畝绻佷綋姹夊瓧杈撳叆銆