c语言ascii码表从第128开始,【C语言】[其他]:输出完整的ASCII码(0~127+128~255)

我以前在C语言书背后看见的ASCII码表有0-255个字符,但是我想输出128-255的字符就乱码,一直没解决,今天有个新进的同事问这个问题,我去看了下,然后找度娘和论坛,找到了两种解决的方法,而且都亲测成功了。在这里我稍稍的总结下,借花献佛。

进入正题。。。

问题:假设我要在C程序编写一个在CMD中显示“Ω”,其ASCII码是234。一般会写出以下代码。(本文章末尾有128~255的对照表)

#include"stdio.h"

void main(void)

{

char a;

a = 234;

printf("a=%c.\n",a);

}

以上的代码是我们通常写的,一般不能CMD中正常的显示出“Ω”。我们要修改CMD窗口中的代码页。将其修改成437(OEM-美国),就可以正常显示显示SCII码中128-255的特殊字符。一般情况我们CMD中的默认代码页是936(ANSI/OEM - 简体中文GBK,用于在CMD中显示中文的,这样就不能在CMD中显示SCII码中128-255的特殊字符。

下面的两种方法都可以正常显示,亲测了。

方法1:程序中指定CMD的程序输出代码页

#include"stdio.h"

#include"windows.h" //这个头文件必须添加

void main(void)

{

SetConsoleOutputCP(437);//指定CMD显示的方式为英文,即可以正常显示ASCII码128-255中的字符;想要显示中文:SetConsoleOutputCP(936);

char a;

a = 234;

printf("a=%c.\n",a);

}

方法2:通过修改CMD的属性(程序默认代码页)

1)打开命令提示符cmd窗口。

开始菜单--->运行--->键入cmd

2)修改“默认值”

鼠标放在标题栏上右击--->默认值--->默认代码页,选择437(OEM-美国)

【注意:选择这个后,CMD的中将不能显示中文,想要显示中文,得选择936(ANSI/OEM - 简体中文GBK),这里的显示仅仅只是针对于CMD窗口中的显示,不影响系统的其他显示】

3)关闭当前的CMD窗口,然后重新编译程序,运行即可。

对于那些想我一样的菜鸟,下面有图。。。

bb7fbae686e45dd264eca1edcb2c2725.png

有关ASCII编码的扩展知识:

绝大多数计算机的一个字节是8位,取值范围是0~255,而ASCII码并没有规定编号为128~255的字符,为了能表示更多字符,各厂商制定了很多种ASCII码的扩展规范。注意,虽然通常把这些规范称为扩展ASCII码(Extended ASCII),但其实它们并不属于ASCII码标准。例如以下这种扩展ASCII码由IBM制定,在字符终端下被广泛采用,其中包含了很多表格边线字符用来画界面。

1.扩展ASCII码 128~255码表

2.ASCII码  0-127码表

PILLAR

2014.5.27

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值