我以前在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码表从第128开始,输出完整的ASCII码(0~127+128~255)相关推荐

  1. 在标准ASCII码表中,已知英文字母K的十六进制码值是4B,则二进制ASCII码1001000对应的字符是( )

    在标准ASCII码表中,已知英文字母K的十六进制码值是4B,则二进制ASCII码1001000对应的字符是( ). A. G B. H C. I D. J 提示:答案B 解析:K的十六进制4B转换成二 ...

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

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

  3. C语言实现正余弦函数图像的输出!(源码)

    C语言实现源码,供参考! 余弦函数: #include < stdio.h > #include < math.h > void  main() { double  y; in ...

  4. C语言(6)--国际象棋棋盘、螺旋矩阵、指定年份日历、打印ASCII码表

    1.输出国际象棋棋盘 #include <stdio.h> #include <windows.h>//补充字符处理 int main() {int i,j;SetConsol ...

  5. java中怎么用代码打出ASCII码字符_JAVA实现打印ascii码表代码

    我就废话不多说了,大家还是直接看代码吧~ package com.jalor; public class AAAA { public static void main(String[] args) { ...

  6. java打印ascii码_JAVA实现打印ascii码表代码

    我就废话不多说了,大家还是直接看代码吧~ package com.jalor; public class AAAA { public static void main(String[] args) { ...

  7. java打印ascii码_JAVA实现打印ascii码表的方法是什么

    JAVA实现打印ascii码表的方法是什么 发布时间:2020-08-17 09:55:42 来源:亿速云 阅读:134 作者:小新 这篇文章给大家分享的是有关JAVA实现打印ascii码表的方法是什 ...

  8. C语言中八进制和16进制怎么表示,原码,反码及补码,C语言按位取反运算符~

    借鉴被人的 C语言中8进制和16进制怎么表示 C语言本身支持的三种输入是: 1. 十进制.比如20,457: 2. 十六进制,以0x开头.比如0x7a: 3. 八进制,以0开头.比如05,0237 所 ...

  9. c语言基础 验证ascii 码表

    2019独角兽企业重金招聘Python工程师标准>>> #include <stdio.h> //验证 ascii 码  学习c 语言 ,理解 char 与int  之间 ...

最新文章

  1. JavaScript中函数文档注释
  2. python中是干嘛的-python中def是做什么的
  3. java类加载器、双亲委派、沙箱安全机制全都让你整明白(三万字,收藏慢慢啃)
  4. Can you raed it croretcly?
  5. Android开发之百度地图在地图上绘画圆的方法(官方方法)
  6. SSH开发中 使用超链接到action 其excute方法会被执行两次 actual row count: 0; expected: 1...
  7. 数据建模大数据就业挑战月薪30K
  8. Android内存泄漏的检测流程、捕捉以及分析
  9. 一个实例明白AutoResetEvent和 ManulResetEvent的用法
  10. 用Excel 公式求 金额的差额
  11. 钉钉直播html,钉钉直播功能介绍,钉钉直播步骤详情
  12. nodejs下载慢问题
  13. GD32F103与STM32F103的区别 2021.6.2
  14. Ocr答题辅助神器 OcrAnswerer4.x,通过百度OCR识别手机文字,支持屏幕窗口截图和ADB安卓截图,支持四十个直播App,可保存题库...
  15. 万娟 白话大数据和机械学习_《白话大数据与机器学习》.pdf
  16. 计算机项目符号操作,word项目符号和编号的操作方法-word技巧-电脑技巧收藏家...
  17. BIND+Mysql实现DNS轮询泛解析和IP视图
  18. 苏大强说:这才是最适合SOHO的客户开发方法
  19. 网络调试助手的使用 调试TCP,UDP
  20. 2017 ccpc网络预选赛 CaoHaha's staff

热门文章

  1. 【用Cocos Creator给暗恋的女生写一个游戏(8)】——(Run Game) Prefab的动态管理
  2. Java实现分页效果
  3. 集成企业微信,企业微信扫码登录和企业微信容器内免密登录
  4. 【嵌入式基础】STM32中断及DMA通信原理编程
  5. 关于输入法中文模式下怎么输入英文标点符号
  6. 【内附动画】东芝14TB氦气硬盘
  7. 天涯论坛——python网络爬虫下载论坛关键字帖文(一)
  8. C艹笔记--面向对象程序设计
  9. vue 给圆遮盖物添加文字 高德地图_通过 Vue + 高德地图 JS API 在地图上标记咖啡店...
  10. 第 21 章 路面裂缝检测识别系统设计--matlab深度学习实战