楼主: gototop

请问ZHS16CGB231280和ZHS16GBK有什么区别?

[复制链接]
论坛徽章:
11
ITPUB元老
日期:2005-02-28 12:57:00双黄蛋
日期:2012-04-02 21:48:34蜘蛛蛋
日期:2012-03-23 20:47:172011新春纪念徽章
日期:2011-02-18 11:43:34生肖徽章2007版:蛇
日期:2009-02-07 22:21:22生肖徽章2007版:鼠
日期:2008-01-02 17:35:53金色在线徽章
日期:2007-08-05 04:02:47数据库板块每日发贴之星
日期:2006-11-10 01:03:03会员2006贡献徽章
日期:2006-04-17 13:46:34授权会员
日期:2005-10-30 17:05:33
11#
发表于 2002-11-18 18:04 | 只看该作者

关于GBK和GB的最后结论,应该是ZHS16GBK包含了ZHS16CGB231280

2、 汉字编码
(1) GB2312-80。
简体中文国标字库(1981年订,中国大陆)。7445个字符,其中汉字6773个,包括一级汉字3755个,二级汉字3008个。采用2字节(16位二进制)编码。
区位码:国标GB2312规定,所有的国标汉字与符号组成一个94×94的矩阵。在此方阵中,每一行称为一个"区",每一列称为一个"位",因此,这个方阵实际上组成了一个有94个区(区号分别为0 1到94)、每个区内有94个位(位号分别为01到94)的汉字字符集。一个汉字所在的区号和位号简单地组合在一起就构成了该汉字的"区位码"。在汉字的区位码中,高两位为区号,低两位为位号。由此可见,区位码与汉字或符号之间是一一对应的。

内码:汉字的内码是指在计算机中表示汉字的编码。机内码与区位码稍有区别。为什么不直接用区位码作为计算机内的编码呢? 这是因为汉字的区码和位码的范围都在1到94内, 如果直接用区位码作机内码, 就会与基本ASCII码冲突。 汉字的内码通常与所使用的计算机系统有关。目前,对于国内大多数的计算机系统,一个汉字的内码占两个字节,分别称为高位字节与低位字节,且这两位字节与区位码的关系如下: 内码高位=区码+A0H(H表示十六进制) 内码低位=位码+A0H 例如,汉字"啊"的区位码为"1601",区码和位码分别用十六进制表示即为"1001H",则它的内码为"B0A1H"。其中B0H为内码的高位字节,A1H为内码的低位字节。

(2) BIG5码。

香港、台湾地区使用的汉字编码。13053个汉字。

(3) HZ码。

便于Internet传输的7位汉字编码字符集。(某些Internet主机不支持8位码的传输)。

(4) ISO10646(1992年)。国际标准大字符集汉字系统(CJK:中、日、韩统一汉字编码字符集),20902个汉字。通用多8位编码(UCS)。对应的中国国家标准是GB-13000,其内码标准为GBK国家汉字扩充内码规范(1996年)。

注意:某些软件可能只能识别一种或几种汉字编码,当遇到不能识别的汉字编码时,显示出乱字符(称"乱码"),此时,应使用内码转换软件,如"两岸通"、"南极星"等。

GB字库和GBK字库两种。如选择GB,则只能输入国标字库的6763个字,如选择GBK,则可以输入大字库的20902个字。例如选择GB,按zjrg不能出“镕”字,如选择GBK,则按zjrg能出“镕”字。又如选择GB,按jrsr时只会出现“假使”一词,如选择GBK,则按jrsr时会出现“假使,傢俬”两词供选择。

 汉语编码输入的优越性尚未体现出来,各种输入法还存在种种弊端:
学习困难、词汇少、重码多导致输入速度慢,另外不支持国标字库扩展码
( GBK),大量的生僻字输不出来,如朱总理的“镕”字(常在网络上见
到“朱(金+ 容)基”字样)、氹仔(澳门的一个岛屿)的“氹”字、二
○○○年中的“○”字

一九九○年中国、日本、韩国共同制定的统一东亚表意文字字符集,
即常称的国标扩展码字符集(GBK),共有20902个汉字,包括现代汉语通
用字表和邮电通信字符符集的字符及其繁体、台湾地区的《通用汉字标准
交换码》所含字符、一些香港用字及日文、朝鲜文用汉字。考虑近一半汉
字有简繁体两种字体形式这一因素,扩展码实际拥有的汉字量为一万三千
左右,常用字、词典收集的汉字差不多全部包含在其中。简体中文WIN 95
及其以后的版本符合GBK标准,目前的各种输入法也应做到支持GBK标准

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
12#
发表于 2002-11-18 19:40 | 只看该作者
231280应该是gbk的子集,gbk支持的汉字多。

使用道具 举报

回复
论坛徽章:
0
13#
发表于 2002-11-19 00:14 | 只看该作者
简单的说ZHS16GBK是ZHS16CGB231280的超集。

使用道具 举报

回复
论坛徽章:
40
ITPUB元老
日期:2005-02-28 12:57:00马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14一汽
日期:2013-12-11 10:38:42迷宫蛋
日期:2013-02-25 17:19:322013年新春福章
日期:2013-02-25 14:51:24迷宫蛋
日期:2012-12-14 10:42:08
14#
 楼主| 发表于 2002-11-19 08:58 | 只看该作者
谢谢各位,我正准备问这两个是不是包含关系呢,现在不用问了:)

使用道具 举报

回复
招聘 : 系统架构师
论坛徽章:
372
双子座
日期:2015-08-18 12:18:21摩羯座
日期:2015-09-20 17:10:27秀才
日期:2015-09-21 09:46:16秀才
日期:2015-09-21 11:16:42秀才
日期:2015-10-08 17:57:58天枰座
日期:2015-10-28 18:28:29秀才
日期:2015-11-11 09:48:44秀才
日期:2015-11-11 10:07:14秀才
日期:2015-11-11 10:22:49秀才
日期:2015-09-11 10:43:06
15#
发表于 2002-11-19 11:07 | 只看该作者
gbk中包含231280

使用道具 举报

回复
论坛徽章:
0
16#
发表于 2002-11-20 10:36 | 只看该作者

两者不同!

ZHS16GBK是ZHS16CGB231280 超集!

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
17#
发表于 2002-11-20 10:54 | 只看该作者

Re: 好像ZHS16CGB231280

最初由 wzy25 发布
[B]这个时最新的国家标准,比ZHS16GBK字符多 [/B]

呀呀,说反了吧!

使用道具 举报

回复
论坛徽章:
0
18#
发表于 2005-4-5 09:45 | 只看该作者
谢谢各位啊!虽然不知道是什么时候的帖子了,今天用到时才看到!ITPUB,I LIKE IT!

使用道具 举报

回复
论坛徽章:
0
19#
发表于 2005-6-2 23:42 | 只看该作者
1.2 常用的中文字符集:
ZHS16CGB231280:
该字符集是我国在1980年制订的,全称为“信息交换用汉字字符集·基本集”(GB2312-80)。该标准选取6763个常用汉字和682个非汉字字符,为每个字符规定了标准代码。该字符集及其编码称为国标交换码,简称国标码。
GB2312字符集由三部分组成:第一部分是字母、数字和各种常用符号(拉丁字母、俄文字母、日文平假名与片假名、希腊字母、制表符等)共682个;第二部分是一级常用汉字3755个,按汉语拼音顺序排列;第三部分是二级常用汉字3008个,按偏旁部首排列。GB2312国标字符集构成一个二维平面,分成94行94列,行号称为区号,列号称为位号,分别用七位二进制数表示。每个汉字或字符在码表中都有各自确定的位置,即有一个唯一确定的14位编码(7位区号在左,7位位号在右),用区号和位号作为汉字的编码就是汉字的区位码。
汉字的区位码与国标码不相同。为了正确无误地进行信息传输,不于ASCII码的控制代码相混淆,在区位码的区号和位号上各自加32(即20H),就构成了该汉字的国标码。
    为了存储与处理方便,汉字国际码的高低七位各用一个字节(8位)来表示,即用两个字节表示一个汉字。在计算机中双字节汉字与单字节西文字符混合使用、处理,汉字编码的各个字节若不予以特别标识,就会与单字节的ASCII码混淆不清。为此,将标识汉字的两个字节编码的最高位设为1(即80H),这种最高位为1的双字节汉字编码就是中国大陆普遍采用的汉字机内码,简称内码,是计算机内部存储、处理汉字所使用的代码。
内码、国标码、区位码三者的关系是:
高字节内码=高字节国标码+80H=区码+20H+80H=区码+0A0H=区码+160
低字节内码=低字节国标码+80H=位码+20H+80H=位码+0A0H=位码+160
国标码共收录6763个简体汉字、682个符号,其中汉字部分:一级字3755,以拼音排序;二级字3008,以偏旁排序。现在常用的汉字输入法一般只支持这一字库量。
另外,1990年又制定了繁体字的编码标准GB12345-90《信息交换用汉字编码字符集 第一辅助集》,目的在于规范必须使用繁体字的各种场合,以及古籍整理等。该标准共收录6866个汉字(比GB2312多103个字,其它厂商的字库大多不包括这些字),纯繁体的字大概有2200余个。(2312集与12345集不是相交的。一个是简体,一个是繁体)
但是汉字数量近十万,常用的汉字字典、词典收集的汉字一般在一万二千左右,字典、词典上大量的汉字特别是人名、地名用字没能包括在国标码之中,如“蹓跶”这两个字、啰嗦的“啰”字、瞭望的“瞭”字、朱镕基总理的“镕”字。只支持国标码的输入法满足不了日常输入需要。

ZHS16GBK:
是1995年颁布的指导性规范。该字符集是由中国、日本、韩国共同制定的统一东亚表意文字字符集,即常称的国标扩展码字符集(GBK),共有20902个汉字,包括现代汉语通用字表和邮电通信字符符集的字符及其繁体、台湾地区的《通用汉字标准交换码》所含字符、一些香港用字及日文、朝鲜文用汉字。该编码共收录汉字21003个、符号883个,并提供1894个造字码位,简、繁体字融于一库。但由于它的码位有限,无法表示完整的ISO 10646/GB 13000.1全集,无法表示在我国常用的中、日、韩、藏、蒙等多文种文字,所以它仅是一个国家推荐型标准。
GBK与CGB231280所对应的、事实上的内码标准兼容;但是ZHS16GBK并非是ZHS16CGB231280的严格超集(虽然后者的汉字在前者中都存在,但是同样的编码在不同两个字符集中可能表达不同的汉字)。

ZHS32GB18030:
2000年国家公布了《信息交换用汉字编码字符集·基本集的扩充》GB 18030-2000。它采用单字节、双字节、四字节三种方式对字符进行编码,单字节、双字节处理方式向下兼容GB 2312-1980和GBK 1.0,四字节部分采用0x30和0x39作为对双字节编码扩充的后缀,其范围是0x81308130~0xFE39FE39,其中已定义汉字位置6530个。新标准一共提供1611669个汉字和图形符号码位,对比GBK 1.0增加了6530个汉字定义和欧元符号定义,包含了GB 13000.1中全部字符。该标准是国家强制新标准,从2001年1月1日起,我国所有涉及信息技术的领域必须按照新标准实施。

另外,在计算机内部,只对汉字内码进行处理,不涉及汉字本身的形象——字形。若汉字处理的结果直接供人使用,则必须把汉字内码还原成汉字字形。一个字符集的所有字符的形状描述信息集合在一起称为该字符集的字形信息库,简称字库。不同的字体(如宋、仿、楷、黑等)有不同的字库。每个输出一个汉字,都必须根据内码到字库中找出该汉字的字形描述信息,再送去显示或打印。
-----------------------------
注意:GBK与CGB231280所对应的、事实上的内码标准兼容;但是ZHS16GBK并非是ZHS16CGB231280的严格超集(虽然后者的汉字在前者中都存在,但是同样的编码在不同两个字符集中可能表达不同的汉字)。
有哪位能否举例说明“同样的编码在不同两个字符集中可能表达不同的汉字”,哪怕一个例子也好啊!

使用道具 举报

回复
论坛徽章:
0
20#
发表于 2005-6-3 02:35 | 只看该作者
请问各位老大,既然ZHS16GBK是ZHS16CGB231280的超集,我的数据库的字符集是ZHS16CGB231280,为何执行ALTER DATABASE CHARACTER SET ZHS16GBK出错?
环境是ORACLE901,WIN2000

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表