【C语言】[其他]:输出完整的ASCII码(0~127+128~255)
来源:互联网 发布:网络事件炒作 编辑:程序博客网 时间:2024/04/30 05:54
我以前在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窗口,然后重新编译程序,运行即可。
对于那些想我一样的菜鸟,下面有图。。。
有关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
- 【C语言】[其他]:输出完整的ASCII码(0~127+128~255)
- 十六进制与ASCII码的互转(C语言)
- 完整的ASCII码---(1)
- 完整的ASCII码---(2)
- 完整的ASCII码---(3)
- C语言unsigned char与char之间的转换及英文字符ASCII码和汉字内码输出
- C语言实例10——有关ASCII图形的输出
- C语言基础 查看字符的ASCII码
- 用C语言打印出所有的ascii码
- c语言中'\0'和NULL的ASCII码值
- c 语言的输出
- c语言输出的%
- 二叉树的建立与输出以及其他一些相关操作(递归算法实现) C语言
- C语言青葱之路-----输入字符串,输出其中数字、字母、空格、其他的个数
- 如何用C语言显示ascii码超过127的字符?
- 如何用C语言显示ascii码超过127的字符?
- C语言(7)ASCII码值排序
- Windos控制台输出0~255内的ASCII码值
- C++经典面试题
- 使用Aspose.Cell控件实现Excel高难度报表的生成
- 将桌面文件复制到D盘
- eclipse git 报错:the current branch is not configured for pull No value for key branch.xxx.merge found
- javascript的promise规范
- 【C语言】[其他]:输出完整的ASCII码(0~127+128~255)
- VKE空气过滤器 三重净化 特厚过滤器
- VAE空气过滤器众多名牌一致肯定
- 第十四周项目 动物这样叫
- VKE空气过滤器精选进口过滤材质与厂家历史
- 第十四周——纯虚函数(二)
- VKE过滤的不止是PM2.5
- Starting Tomcat v6.0 Server at localhost' has encountered a problem.
- Wijmo json 格式的数据回还 无限级解析 成树形菜单