如何显示ascii码超过127的字符??

bravehearty 2005-12-05 12:35:40
void main()
{
unsigned char uch;
uch = 171;
printf("%c",uch);
}

显示的是一个?号
请问是怎么回事??????
谢谢先
...全文
1483 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
loujing 2006-02-10
  • 打赏
  • 举报
回复
请设置Dos窗口的默认代码页为美国而不是简体中文。
方法如下,右键单击Dos窗口的标题栏,在弹出菜单中选择"默认值",修改默认代码页为"437 OEM-美国",就可以了。
Tycool 2005-12-06
  • 打赏
  • 举报
回复
同意楼上的楼上。
不过研究这个问题没什么价值
南山_放羊娃 2005-12-06
  • 打赏
  • 举报
回复
我的打出来也是"?".
屋顶上的老猫 2005-12-06
  • 打赏
  • 举报
回复
henan_lujun(地平风线) 的方法有道理,可以试试!
lujun-cc 2005-12-06
  • 打赏
  • 举报
回复
对于扩展ASCII码的显示问题,我以前也遇到过,后来总结出来的显示方法是:

出现这个问题的原因是控制台使用了中文代码页,要显示扩展ASCII码,则将执行这个程序的控制台的的代码页改为 437 (OEM-美国) 即可!
TechEye 2005-12-05
  • 打赏
  • 举报
回复
如果你自己定义了码表...
屋顶上的老猫 2005-12-05
  • 打赏
  • 举报
回复
你的是?号,我的是1/2!
dx30611 2005-12-05
  • 打赏
  • 举报
回复
ascii码有超过127的吗???
foxdeng 2005-12-05
  • 打赏
  • 举报
回复
对啦!
编号在128~255的是扩展的编码,原本就不是作为显示用的,当然在不同的终端上显示就不一致,这完全取决于不同的显示终端的处理。
我曾做过液晶显示的驱动,有些ic厂商会将大于127的ascii码做成他们要的图标,比如一个充满电的电池的图标,一个表示加锁的图标
bravehearty 2005-12-05
  • 打赏
  • 举报
回复
编号在128~255的是扩展的编码.
foxdeng(江洋大刀),是不是就是说:
在不同的终端上显示就可能不一致?
Youthllen 2005-12-05
  • 打赏
  • 举报
回复
printf("%c",171);
foxdeng 2005-12-05
  • 打赏
  • 举报
回复
«
«««««
以上是我按住键alt的同时再输入171后显示的结果,我用的是火狐的浏览器,我敢说,使用ie肯定是另一番景象,在dos,linux下又是其它的景象。
明白了这个道理吗?
hbyufan 2005-12-05
  • 打赏
  • 举报
回复
显示1/2啊
屋顶上的老猫 2005-12-05
  • 打赏
  • 举报
回复
考虑系统原因!我在DOS6.22下!

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧