专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > C++

多年来一直疑惑!究竟为什么汉字要占 2 个字节的存储空间?是不是这么回事?发表一下您的看法。该如何解决

发布时间:2011-06-28 21:38:46 文章来源:www.iduyao.cn 采编人员:星星草
多年来一直疑惑!究竟为什么汉字要占 2 个字节的存储空间?是不是这么回事?发表一下您的看法。
我认为:

因为存储汉字要采用 Unicode 字符编码,而 Unicode 字符编码就是占用 2 个字节的存储空间,究竟是不是这么回事?

--------------------------------------------------
而我在百度上搜索的答案是:

我国规定的汉字代码标准GB2312-80为6763个常用汉字规定了二进制代码,每个汉字占用2个字节,就是16个BYTE。近年来开始使用的新的国家标准GB13000,使用四个字节表示一个汉字,统一表示20902个汉字。


------解决方案--------------------
总之一个字节是无法表示出完整的汉字集的。
------解决方案--------------------
我想跟汉字的多少有直接的关系,英文(A~Z)区区26个字母加上常用的符号用计数的方式仅仅用256个数字就可表示了,而汉字是一种框架结构有两万多之巨,仅从字形上来说联系不大,因此要用计数查表的方式来表示自然需要65535即两个字节来表示。(个人愚见,不对之处请指教)
------解决方案--------------------
Unicode标准有utf8,utf16,utf32等多种不同的编码方式
------解决方案--------------------
我觉得你把因果颠倒了,个人看法
------解决方案--------------------
一个字节8位,只能表示2^8个数,也就是256,你不会认为汉字只有256个吧(这个还没有减去ascii的128个字符)
------解决方案--------------------
Unicode GBxxxx是不同的编码。
Unicode!=汉字编码,他的范围涵盖了世界上大多数正在使用的字符集,这个从名字上就能看出,Unicode希望是提供一种“唯一”的通用的,在任何地区都能使用的编码。

汉字占2个字节这种说法最早的来源来自GB2312编码和Big5编码流行的那个年代……这个年代非常久远了,当年偶应该专门翻过,如今用google意思一下……

引用大陆电脑中的汉字多以GB2312标准进行编码,简称GB码或国标码,共定义6763汉字,编码如下:

第一字节,行码0xA1-0xFE,
第二节字,列码0xA1-0xFE,每行94个汉字
其中: 1-15行 (A1-AF) 全角字母、符号
16-55行(B0-CF) 以拼音为序的一级汉字3755字
56-87行(D0-F7) 以部首为序的二级汉字3008字
例如:GB码16行1列表示“啊”字,编码为0xB0A1。

港台电脑中的汉字则多以BIG5编码,共定义了13053汉字,汉字部分均以部首为序,编码如下:

第一节字,行码0xA1-0xFE
第二节字,列码0x40-0x7E, 0xA1-0xFE,每行157个汉字
其中:1-3/38-40行(A1-A3, C6-C8) 全角字母、符号
4-39行(A4-C6) 一级汉字5401字
41-89行(C9-F9) 二级汉字7652字
例如:BIG5码16行121列同样表示“啊”字,编码为0xB0DA。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: