C语言的程序代码如下:
main()
{
int i;
for (i=1;i<256;i++)
{
printf("%c ",i);
}
getchar();
}
显示结果:
编码在127以上的都显示为“?”。
这是因为 编号在128~255的是扩展的编码,原本就不是作为显示用的,当然在不同的终端上显示就不一致,这完全取决于不同的显示终端的处理。 有些ic厂商会重新做液晶显示的驱动,将大于127的ascii码做成他们要的图标,比如一个充满电的电池的图标,一个表示加锁的图标。
通常情况下出现这个问题的原因是控制台使用了中文代码页,要显示扩展ASCII码,则将执行这个程序的控制台的的代码页改为 437 (OEM-美国) 即可!
方法是:请设置Dos窗口的默认代码页为美国而不是简体中文。右键单击Dos窗口的标题栏,在弹出菜单中选择"默认值",修改默认代码页为"437 OEM-美国",就可以了。
图示:
1、在显示的控制台窗口中,右击标题栏。
2、更改“默认代码页”。
3、关闭控制台窗口,重新运行程序。
本文介绍了一段C语言代码,该代码用于打印ASCII字符集。当遇到扩展ASCII字符时(即编码在128到255之间的字符),在默认中文代码页下可能会显示为问号。文章解释了这一现象,并提供了将控制台代码页更改为437(OEM-美国)的方法来正确显示这些字符。
2302

被折叠的 条评论
为什么被折叠?



