在C语言中,ASCII码值大于128的输出后全部是乱码,为什么啊??
#include"stdio.h"具体程序:voidmain(){inti=248;//只要i>128输出就是乱码printf("%c\n",i);}...
#include"stdio.h"
具体程序:
void main()
{
int i=248; //只要i>128输出就是乱码
printf("%c\n",i);
} 展开
具体程序:
void main()
{
int i=248; //只要i>128输出就是乱码
printf("%c\n",i);
} 展开
展开全部
ASCII码值128以后的称为扩展ASCII码。在小型电脑开发的初期,就已经严格地建立了8位元位元组。因此,如果使用一个位元组来保存字元,则需要附加的字元来补充ASCII。扩展ASCII 码允许将每个字符的第8 位用于确定附加的128 个特殊符号字符、外来语字母和图形符号。
扩展资料:
为了解决中国、日本和韩国的象形文字符和ASCII的某种兼容性,出现了双字节字符集(DBCS:double-byte character set)。DBCS从 第256 代码开始,就像ASCII一样,最初的128个代码是ASCII。
然而,较高的128个代码中的某些总是跟随着第二个字节。这两个字节一起(称作首字节和跟随字节)定义一个字符,通常是一个复杂的象形文字。这些代码遵循了ANSI草案和ISO标准。
展开全部
ASCII 从0到255 共256个
你让ch等于300 过了255它会从头算起
300-256=74
也就是说相当于你输出的是ascii码为74的字符 也就是大写的J
你让ch等于300 过了255它会从头算起
300-256=74
也就是说相当于你输出的是ascii码为74的字符 也就是大写的J
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
%c对应char类型的,char的范围是[-127, 128],溢出了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
回答者: javanetwork
他已经回答了问题的本质,提问的既然了解ASCII码,应该明白才对,
问题结了吧!
他已经回答了问题的本质,提问的既然了解ASCII码,应该明白才对,
问题结了吧!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
基本的 ASCII 字符集共有 128 个字符,其中有 96 个可打印字符,包括常用的字母、数字、标点符号等,另外还有 32 个控制字符。标准 ASCII 码使用 7 个二进位对字符进行编码,对应的 ISO 标准为 ISO646 标准。下表展示了基本 ASCII 字符集及其编码: 字母和数字的 ASCII 码的记忆是非常简单的。我们只要记住了一个字母或数字的 ASCII 码(例如记住 A 为 65 , 0 的 ASCII 码为 48 ),知道相应的大小写字母之间差 32 ,就可以推算出其余字母、数字的 ASCII 码。 虽然标准 ASCII 码是 7 位编码,但由于计算机基本处理单位为字节( 1byte = 8bit ),所以一般仍以一个字节来存放一个 ASCII 字符。每一个字节中多余出来的一位(最高位)在计算机内部通常保持为 0 (在数据传输时可用作奇偶校验位)。 由于标准 ASCII 字符集字符数目有限,在实际应用中往往无法满足要求。为此,国际标准化组织又制定了 ISO2022 标准,它规定了在保持与 ISO646 兼容的前提下将 ASCII 字符集扩充为 8 位代码的统一方法。 ISO 陆续制定了一批适用于不同地区的扩充 ASCII 字符集,每种扩充 ASCII 字符集分别可以扩充 128 个字符,这些扩充字符的编码均为高位为 1 的 8 位代码(即十进制数 128~255 ),称为扩展 ASCII 码。
都是不可显示字符,所以打出来是乱码,你然你叫F1键怎么显示???
都是不可显示字符,所以打出来是乱码,你然你叫F1键怎么显示???
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询