表示一个ASCⅡ字符与一个汉字分别要使用几个字节

作者&投稿:承东 (若有异议请与网页底部的电邮联系)
在ASC ⅠⅠ 码中,一个英文字母占多少个字节~

ASCII(American Standard Code for Information Interchange,美国国家信息交换编码)码,主要应用于英文字符的编码。每一个ASCII码占8位(一个字节),最高位为0,这些字符在0~127之间,最多可表示128个字符。另位128个作为扩展,最高位为1时,表示的一些特殊的符号(图形符)。


ASCII码保持原样,只占用一个字节。如果字符在0x0080~0x007f之间,它使用两个字节来表示,如果字符在0x0800~0xffff之间它采用三个字节来进行表示。例:如果为中文字符它会采用三个字符来表示。

表示一个ASCⅡ字符要用1个字节,一个汉字要用2几个字节。

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包含的字符更多。

  字节(Byte):字节是通过网络传输信息(或在硬盘或内存中存储信息)的单位。
  字节是计算机信息技术用于计量存储容量和传输容量的一种计量单位,1个字节等于8位二进制。
  所以,在ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。

ASCII 字符 需要1个字节

汉字需要 2个 字节

不同的编码 一个汉字占用的字节数不同。

ASCII字符 1个字节 ,
汉字 1个字=2个字节


一个字符的标准ASCⅡ码用( )位二进制位表示。 A)8 B)7 C)6 D)4 请...
B)7 解析:标准 ASCII 码也叫基础ASCII码,使用 7 位二进制数来表示所有的大写和小写字母,数字 0 到 9、标点符号 参考资料:http:\/\/baike.baidu.com\/view\/15482.htm

C# 一个字符转换ASCⅡ怎么实现?
asciiEncoding.GetBytes(character)[0];return (intAsciiCode);} else { throw new Exception("Character is not valid.");} } 调用ASC()方法即可获得ASC2码,但是这个传递的参数必须是一个字母,如果是一个字符串,你得挨个获得字符串的每一个字母放进一个顺组里,然后写个循环调用ASC()方法 ...

编写程序,输入一个字符,输出ASCⅡ码比它 大五的字符
void bigger5(char inch, char *poutch){ poutch = inch+5;printf("%c",*poutch);}

标准ASCII码用7位二进制位表示一个字符的编码,其不同的编码共有多少...
国际通用的ASCII码是7位码,它是用7位二进制数表示一个字符的编码的7次方个字符,共128个,但不是所有ASCII字符都是可以打印的,在计算机内部表示中,每个ASCII字符都不同。ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示...

一个字符的ASCII编码,占用二进制数的位数为
ASCII码有7位码和8位码两种形式。在计算机的存储单元中,一个ASCⅡ码值占一个字节(8个二进制位),其最高位用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。

请用简单易懂的方法说明 ASCII码如何运算?我附的图第四题答案我看不懂...
相当于加了四个1,而字母A到字母E正好差了4,所以答案那样写也是正确的。至于如何运算ASCII,方法只有记住对应的十进制,然后转成二进制。不是所有的十进制都要记住,比如说字母A是65,那么就可以推出其他的大写字母,而字母a则是97,这样又能推出小写字母。所以,记住一些关键字符的ASCII码就好了。

已知字符"D"的ASCⅡ码为十进制数的68,则字符"f"的 ASCⅡ码的十六进制...
'd' 的ASCII为 68+32=100 'f' 的ASCII 为 100+2=102 用16进制表示为 66

关于ASCⅡ码的计算
ASCII没什么好算的 要记住几个特殊字符的ASCII码 例如A是65,小a是97,然后依此类推。中间相隔了32 大K是75+32就是107

在字符串str中找出ASCⅡ码值最大的字符,将其放在第一个位置上,并将该...
q=p+i是使指针向后移动。其实楼主的程序中不用指针也是可以的:fun(char *p){ int i=0,pos=0;\/\/pos记录最大字符的位置 char max = p[0];for(i=1;p[i];i++){ max=p[i];\/\/保存最大字符 pos=i; \/\/及其位置 } for(i=pos;i>0;i--) p[i]=p[i-1];\/\/将最大字符前...

我去!一个字符的ASCII编码,占用二进制数的位数为7?为什么会是7?而不...
一个ASCⅡ码值占一个字节(8个二进制位),但是其中第一位是奇偶校验位,如01111111 其中0是奇偶校验位

凌源市13546739072: 计算机网络技术基础,一个汉字占多少位,一个字符占多少位,一个ASCII字符占 -
敖发枢丹: 一个汉字=2个英文字母=2字节=16位一个字符占据1个字节,即8位一个ASCII字符占据1个字节,即8位

凌源市13546739072: 汉字如何在计算机中表示,储存,输入和输出的? -
敖发枢丹: 用二进制.技术实现简单,计算机是由逻辑电路组成,逻辑电路通常只有两个状态,开关的接通与断开,这两种状态正好可以用“1”和“0”表示. 并行传输的效率要高于串行传输,一次可以传输完整的一组二进制数.但是根据所要传输的二...

凌源市13546739072: 计算机基础知识!在计算机领域中,ASCII码和汉字编码分别用一个字节和两个连续的字节来表示各自的对象,下列4组二进制数不可能分别表示一个ASCII码... -
敖发枢丹:[答案] B,ASCII码最高位是0,不可能为1

凌源市13546739072: 计算机中的1个ASCII码是由8个二进制位组成的. -
敖发枢丹: 因为七位是辨别码,一位是校验码,合起来是八位ASC码.八位ASC比七位的大大地降低了错误率.一个八们ASC码可以表达一个英文字母,而两个ASC码可以表示一个汉字.

凌源市13546739072: ASCⅡ简称及如何表达一个字符 -
敖发枢丹: 这三种不是一个等级的东西 ASCⅡ码与汉字编码(国内为GB2312)是平行的,前者是255个单字节通用字符,后者是双字节汉字编码 而Unicode是一种新的国际通用编码规范,可以说它包含了以上两者,只不过ascii也是用双字节来表示的

凌源市13546739072: 一个汉字在内存中占多少字节? -
敖发枢丹: 1. 一般占用两个字节. 2. 1个ASCII码占1个字节,而1个汉字编码占2个字节.3. 这是指汉字编码,就象每个字符都有一个ASCII码一样. 4. 如果是在UTF-8编码下,一个汉字占3个字节,UTF-8是一种国际通用的一种变长编码. 5. 西方文字(希腊文字)占2个字符,中文占用3个字节数,还有平面符号占4个字节. 汉字,又称中文字,中国字,方块字,属于表意文字的词素音节文字.汉字是汉语的书写用文字 ,也被借用于书写日语,朝鲜语,越南语等语言,是汉字文化圈广泛使用的一种文字,也是目前世界上唯一仍被广泛使用的高度发达的文字.

凌源市13546739072: 一个ASCII字符用 - -----个字节表示. -
敖发枢丹: 1个ASCII用1个字节1个汉字用2个字节

凌源市13546739072: ASP中如何判断一个字符是不是汉字 -
敖发枢丹: 直接将某字符用asc转为ASCII码,如果是英文,他应该是0-127的范围,而汉字则是一个比较大的数字,所以可以使用以下代码来判断: if abs(asc(whichChar))>127 then Response.write whichChar & "是一个汉字" else Response.write whichChar & "不是一个汉字" end if

凌源市13546739072: word中一个汉字等于几个字符呢? -
敖发枢丹: word中,一个汉字相当2个ASCII 字符. word中,一个汉字是相当于2个字符. 在中文编辑状态下,在设置段落时,首行缩进2个字符,这吋缩进的是指2个汉字,这是按中文的书写习惯. 以占用空间而言,在保存word文档时,一个汉字占用2个ASCII 码字符的空间.

凌源市13546739072: 一个字符占几个字节 -
敖发枢丹: 两个、三个或者四个字节. 1、ASCII码中:一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间.一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制.最小值0,最大值255...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网