99问答网
所有问题
表示一个ASCⅡ字符与一个汉字分别要使用几个字节
如题所述
举报该问题
推荐答案 2013-03-30
ASCII字符占用1个字节汉字一般用占用2字节----------------字符编码简介
先从ASCII说起。ASCII是用来表示英文字符的一种编码规范,每个ASCII字符占用1个字节(8bits)。因此,ASCII编码可以表示的最大字符数是256,其实英文字符并没有那么多,一般只用前128个(最高位为0),其中包括了控制字符、数字、大小写字母和其他一些符号 。而最高位为1的另128个字符被成为“扩展ASCII”,一般用来存放英文的制表符、部分音标字符等等的一些其他符号。这种字符编码规范显然用来处理英文没有什么问题。(实际上也可以用来处理法文、德文等一些其他的西欧字符,但是不能和英文通用),但是面对中文、阿拉伯文之类复杂的文字,255个字符显然不够用,于是,各个国家纷纷制定了自己的文字编码规范,其中中文的文字编码规范叫做“GB2312-80”,它是和ASCII兼容的一种编码规范,其实就是利用扩展ASCII没有真正标准化这一点,把一个中文字符用两个扩展ASCII字符来表示。但是这个方法有问题,最大的问题就是,中文文字没有真正属于自己的编码,因为扩展ASCII码虽然没有真正的标准化,但是PC里的ASCII码还是有一个事实标准的(存放着英文制表符),所以很多软件利用这些符号来画表格。这样的软件用到中文系统中,这些表格符就会被误认作中文字,破坏版面。而且,统计中英文混合字符串中的字数,也是比较复杂的,我们必须判断一个ASCII码是否扩展,以及它的下一个ASCII是否扩展,然后才“猜”那可能是一个中文字 。
总之当时处理中文是很痛苦的。而更痛苦的是GB2312是国家标准,台湾当时有一个Big5编码标准,很多编码和GB是相同的,所以……,嘿嘿。这时候,我们就知道,要真正解决中文问题,不能从扩展ASCII的角度入手,也不能仅靠中国一家来解决。而必须有一个全新的编码系统,这个系统要可以将中文、英文、法文、德文……等等所有的文字统一起来考虑,为每个文字都分配一个单独的编码,这样才不会有上面那种现象出现。于是,Unicode诞生了。 Unicode有两套标准,一套叫UCS-2(Unicode-16),用2个字节为字符编码,另一套叫UCS-4(Unicode-32),用4个字节为字符编码。以目前常用的UCS-2为例,它可以表示的字符数为2^16=65535,基本上可以容纳所有的欧美字符和绝大部分的亚洲字符 。UTF-8的问题后面会提到。在Unicode里,所有的字符被一视同仁。汉字不再使用“两个扩展ASCII”,而是使用“1个Unicode”,注意,现在的汉字是“一个字符”了,于是,拆字、统计字数这些问题也就自然而然的解决了。但是,这个世界不是理想的,不可能在一夜之间所有的系统都使用Unicode来处理字符,所以Unicode在诞生之日,就必须考虑一个严峻的问题:和ASCII字符集之间的不兼容问题。我们知道,ASCII字符是单个字节的,比如“A”的ASCII是65。而Unicode是双字节的,比如“A”的Unicode是0065,这就造成了一个非常大的问题:以前处理ASCII的那套机制不能被用来处理Unicode了。另一个更加严重的问题是,C语言使用'\0'作为字符串结尾,而Unicode里恰恰有很多字符都有一个字节为0,这样一来,C语言的字符串函数将无法正常处理Unicode,除非把世界上所有用C写的程序以及他们所用的函数库全部换掉。于是,比Unicode更伟大的东东诞生了,之所以说它更伟大是因为它让Unicode不再存在于纸上,而是真实的存在于我们大家的电脑中。那就是:UTF。UTF = UCS Transformation Format UCS转换格式。它是将Unicode编码规则和计算机的实际编码对应起来的一个规则。现在流行的UTF有2种:UTF-8和UTF-16。其中UTF-16和上面提到的Unicode本身的编码规范是一致的,这里不多说了。而UTF-8不同,它定义了一种“区间规则”,这种规则可以和ASCII编码保持最大程度的兼容。UTF-8有点类似于Haffman编码,它将Unicode编码为00000000-0000007F的字符,用单个字节来表示;00000080-000007FF的字符用两个字节表示00000800-0000FFFF的字符用3字节表示。因为目前为止Unicode-16规范没有指定FFFF以上的字符,所以UTF-8最多是使用3个字节来表示一个字符。但理论上来说,UTF-8最多需要用6字节表示一个字符。在UTF-8里,英文字符仍然跟ASCII编码一样,因此原先的函数库可以继续使用。而中文的编码范围是在0080-07FF之间,因此是2个字节表示(但这两个字节和GB编码的两个字节是不同的),用专门的Unicode处理类可以对UTF编码进行处理。
下面说说中文的问题。由于历史的原因,在Unicode之前,一共存在过3套中文编码标准。GB2312-80,是中国大陆使用的国家标准,其中一共编码了6763个常用简体汉字。Big5,是台湾使用的编码标准,编码了台湾使用的繁体汉字,大概有8千多个。HKSCS,是中国香港使用的编码标准,字体也是繁体,但跟Big5有所不同。这3套编码标准都采用了两个扩展ASCII的方法,因此,几套编码互不兼容,而且编码区间也各有不同。因为其不兼容性,在同一个系统中同时显示GB和Big5基本上是不可能的。后来,由于各方面的原因,国际上又制定了针对中文的统一字符集GBK和GB18030,其中GBK已经在Windows、Linux等多种操作系统中被实现。GBK兼容GB2312,并增加了大量不常用汉字,还加入了几乎所有的Big5中的繁体汉字。但是GBK中的繁体汉字和Big5中的几乎不兼容。GB18030相当于是GBK的超集,比GBK包含的字符更多。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/Bz7WXeBOe.html
其他回答
第1个回答 推荐于2017-10-07
字节(Byte):字节是通过网络传输信息(或在硬盘或内存中存储信息)的单位。
字节是计算机信息技术用于计量存储容量和传输容量的一种
计量单位
,1个字节等于8位
二进制
。
所以,在ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。
第2个回答 2013-03-29
ASCII 字符 需要1个字节
汉字需要 2个 字节
本回答被网友采纳
第3个回答 2013-03-29
不同的编码 一个汉字占用的字节数不同。
第4个回答 2013-03-30
ASCII字符 1个字节 ,
汉字 1个字=2个字节
相似回答
表示一个ASCⅡ字符与一个汉字分别要使用几个字节
答:
ASCII字符占用1个字节汉字一般用占用2字节---字符编码简介
先从ASCII说起。ASCII是用来表示英文字符的一种编码规范,每个ASCII字符占用1个字节(8bits)。因此,ASCII编码可以表示的最大字符数是256,其实英文字符并没有那么多,一般只用前128个(最高位为0),其中包括了控制字符、数字、大小写字母和其他...
汉字
的ASCII码占
几个字节
答:
ASCII码占一个字节,汉字不是用ASCII码编码的,一般有GBK2312和UTF-8等编码方式,
他们都占2个字节
。每个键盘上的键值及字符 在ASC码中都有一个对应,而每个汉字由2个ASC码对应。首字节高位是1的,可能是汉字编码,或者反过来说,汉字编码两个字节的高位为1。ASCII高位为0。汉字编码范围(GB2312),第...
为了区分
汉字与
ASCII码,计算机中汉字编码的最高位为
答:
一个汉字由两个字节组成
,为了与ASCII码区别,最高位均为“1”。ASCⅡ码与汉字编码(国内为GB2312)是平行的,前者是255个单字节通用字符,后者是双字节汉字编码 ascII码的首位为0,而汉字编码的首位为1。
ASCII编码
和汉字
编码的关系?
答:
现在我国都用国标码(GB2312)作为机内码,
GB2312-80规定了:(1)一个汉字由两个字节组成
,为了与ASCII码区别,最高位均为“1”。(2)汉字6763个:一级汉字3755个,按汉字拼音字母顺序排列;二级汉字3008个,按部首笔画汉字排列。(3)汉字分区:94行(区),94列(位)(区位码) 3、汉字的...
计算机的编码的疑惑
答:
第2字节第
1字节
汉字国标码作为一种国家标准,是所有汉字编码都必须遵循的一个共同标准,但由于国标码每个字节的最高位都是0,这正好与
ASCⅡ
码相冲突。例如“天”字的国标码是76、108,而西文字符“L”和“l”的ASCⅡ码也恰好是76和108,现在假如内存中有两
个字节
76、108,这到底是
一个汉字
“天...
在计算机中,汉字系统把
一个汉字表示
为___。
答:
在计算机中,汉字系统把一个汉字表示为两个字节的二进制编码。简体中文常见的编码方式是 GB2312,使用两
个字节表示一个汉字
。一个字节只能表示256种符号,肯定是不够的,就必须使用多个字节
表达一个
符号。所以最多可以表示 256 x 256 = 65536 个符号。
VB中
AscⅡ
码
和
ANSI键是什么意思
答:
为使计算机支持更多语言,通常使用 0x80~0xFF 范围的 2
个字节
来
表示 1 个字符
。比如:
汉字
'中' 在中文操作系统中,使用 [0xD6,0xD0] 这两个字节存储。不同的国家和地区制定了不同的标准,由此产生了 GB2312, BIG5, JIS 等各自的编码标准。这些使用 2 个字节来代表
一个字符
的各种汉字延伸...
一个汉字
是
几个字节
答:
具体依据汉字编码形式有所不同:GB-231280 编码为 2
个字节
(Byte) 包含了 20902
个汉字
,其编码范围是 0x8140-0xfefe。GB18030-2000(GBK2K) 在 GBK 的基础上进一步扩展了汉字,增加了藏、蒙等少数民族的字形。编码是变长的,其二字节部分与 GBK 兼容;四字节部分是扩充的字形、字位,其编码范围是...
问
几个
计算机基础问题。
答:
字符——是可使用多种不同字符方案或代码页来表示的抽象实体。一般就英文字母是一个算
一个字节
,
一个汉字
是两个字节。但有的语言编码时,也可能一个汉字算成一个字节,不同的计算机语言可能会有所不同。在计算机里各种符号是用二进制表示的即只有0和1。一个字节就是8位,
一个字符
是两个字节。不同...
大家正在搜
一个汉字占几个字节
一个汉字占两个字符
两个汉字是几个字节
汉字几个字节
1个字符等于多少汉字
汉字字符编码
最普遍的汉字字符编码
3000字符等于多少汉字
其他字符怎么表示
相关问题
在ASC ⅠⅠ 码中,一个英文字母占多少个字节
表示一个ASCⅡ字符与一个汉字分别要使用几个字节
一个ASCII码要占用多少个字节的储存空间
一道关于ASCⅡ码的选择题
ASCII编码和汉字编码的关系?
ASCⅡ码、Unicode编码和汉字编码的区别?
在utf8字符集中一个中文字符占几个字节
ASCⅡ字符是什么?