C++ASCII码的一些问题

关于ASCII码和转义字符的对应问题,一直都有个困惑。所以今天校验了一下是什么情况。

 转义字符的百度百科:http://baike.baidu.com/link?url=D9ytjAeiYr1ZGKGTXtSB_DqtKOEPDI899R6oqNFN_u3IqdVQLGvSXX83H6eXG6o-96GccFpH6CL1aPg1hF87fK

ASCII字符表:http://www.asciima.com

所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。


//如何将数字转换成ASCII码对应的字符 char getAscii(int aval) {     return char(aval); } //如何将字符转换成ASCII码对应的数字 int ASCII(char c) { return int(c); }
 //转义字符的int最后输出结果是其ASCII码
int A=‘\0’; cout<<A<<endl; //输出结果是0,即空格的ASCII字符 int A='\n'; cout<<A<<endl; //输出结果是10;即换行的ASCII字符 int A='\t'; cout<<A<<endl; //输出结果是9;即制表位的ASCII字符
#include<iomanip>

int A='1';
cout<<hex<<A<<endl;
//the result is 31,即字符对应输出的是其ASCII码

其实所有编程语言,拥有转义字符的原因基本上是两点:一、使用转义字符来表示字符集中定义的字符,比如ASCll里面的控制字符及回车换行等字符,这些字符都没有现成的文字代号。所以只能用转义字符来表示 。二、某一些特定的字符在编辑语言中被定义为特殊用途的字符。
也就是说在ASCII码可以表示的字符中,由于控制字符如NUL,CR等不能直接用字符表示,于是我们就用到了转义字符来表示这些,使得编译器可以知道这些转义字符代表的是什么意思。

更多相关文章
  • 使用的函数:一.查看字符的Ascii码:使用Character.codePointAt(char[],int index)方法.第一步将字符串转换成char数组-隐式转换,不需要专门进行转换.第二步使用Character.codePointAt(String s,int index);语句获取对应的 ...
  • p图片转ASCII码php代码:转换有利于存储,可以直接入库的方法.<html>  <head>   <title>Ascii</title>   <style>    body{     line-height:0;     ;    } ...
  •        最近在做RSA算法实现的时候,当我在读取文件并将其加密的时候,发现了ASCII码26 与判断文件末尾标志时产生的问题...       在C语言中判断文件的时候一半都用导入下语句:               while((ch = fgetc(fp) != -1))  当我用上面的语 ...
  • 原题:输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符.Input输入数据有多组,每组占一行,有三个字符组成,之间无空格.Output对于每组输入数据,输出一行,字符中间用一个空格分开.Sample InputqweasdzxcSample Outpute q wa d sc x ...
  • 回车,ASCII码13,"\r"换行,ASCII码10,"\n"空格,ASCII码32Return   =   CR   =   13   =   '\x0d'NewLine   =   LF   =   10   =   '\x0a' 回车符号和换行符号产生 ...
  • js 字符ascii码转换函数 字符转ascii码:用charCodeAt();ascii码砖字符:用fromCharCode(); 看一个小例子 <script> str="A"; code = str.charCodeAt(); str2 = String.fro ...
  • 键盘上各键位所对应的ASCII码详单(键盘键位表) 示例:判断是否按了Esc键 作者 daoshi_000 日期 2010-1-24 13:41:00常数值描述vbKeyLButton 0x1 鼠标左键vbKeyRButton 0x2 鼠标右键vbKeyCancel 0x3 CANCEL 键vbKe ...
  • \r:回车,ASCII码13       r->return \n:换行,ASCII码10   n->newline 在Windows中: '\r'  回车,回到当前行的行首,而不会换到下一行: '\n'  换行,换到当前位置的下一行,而不会回到行首: \r与\n的区别: \r : re ...
一周排行
  • 上周五是我第一次参加同城交流活动,当时的主题是"大数据与世界杯".演讲的哥们是"浪潮云服务系统工程师",主题演讲结束后,留下自己的联系方式和浪潮招聘的岗位.就这样,上周日晚上重 ...
  • PowerShell不仅允许用户操作各种类型的对象,而且可以通过统一方式来修改这些类型.当然也包括内置类型,这样可以更贴近日常工作中用到的对象类型.PowerShell的类型在很大程度上依靠.NET框架,并且所有内置 ...
  • 1. 不要第一句话就说:给个代码吧!你应该想想为什么.当你自己想出来再参考别人的提示,你就知道自己和别人思路的差异. 2. 初学者请不要看太多的书那会误人子弟的.先找一本好书系统的学习.很多人用了很久都是只对部分功能 ...
  • YoMail,Gmail死忠粉的福音——直接收发Gmail邮件
    之前,不知道听谁说过一句话,叫做"中国人爱 IM,美国人爱邮件".细想 ...
  • 一.         parted的用途及说明概括使用说明:parted用于对磁盘(或RAID磁盘)进行分区及管理,与fdisk分区工具相比,支持2TB以上的磁盘分区,并且允许调整分区的大小.GNU手册说明:part ...
  • [开发脚本][[email protected] oldboy]# cat oldboy_modi_file.sh #!/bin/shfor file in `ls ./*.jpg`  #shell脚本for循环,file为变量 ...
  • 耗尽您CPU资源的Explored病毒清除法....一.在局域网上出现广播包(ARP)暴增,甚至把出口堵死.二.机器CPU资源耗尽.用任务管理器可以看到可疑的进程explored.exe和services.exe一起 ...
  • LyncServer2010拓扑图规划详解
    对于大多数的公司来说,Lync Server标准版确实已经足够,但对于一些大型企业或组织来 ...
  • 因为sprintf函数没有参数指定缓冲区的大小,这使得溢出的可能性很大,尤其是遇到 sprintf( buffer, "%s", a ) 如果不知道a的串长,就无法指定安全的缓冲区. 解决方法: ...
  • 中国IDC评述网08月13日报道:近日,据WebHosting.info公布的数据显示,截至2012年8月6日,全球.NET域名注册总量为14,086,185个,延续上月负增长的趋势,8月第一周净减2640个.下面, ...