如何用C语言显示ascii码超过127的字符
C语言的程序代码如下:
#include "stdio.h"
main()
{
int i;
for (i=1;i<256;i++)
{
printf("%c ",i);
}
getchar();
}
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、关闭控制台窗口,重新运行程序。