zoukankan      html  css  js  c++  java
  • ASCII和转义字符的区别与联系

    转义字符中的数都是八进制的。




    编译器语言c存储在以前学习C语言的过程中,只是对ASCII码和转义字符有一个简单的了解,最近遇到一些关于这方面的问题,深入研究了一下,总结下来,作为以后学习参考。


    ASCII字符集 
    计算机用数字码来存储字符。ASCII码(美国标准信息交换码)是最常用的编码。 
    ASCII码表:http://imgsrc.baidu.com/baike/pic/item/f6428f8f7c5d36e9503d9262.jpg 
    转义字符


     


    转义序列必须用但括号括起来 
    在ASCII码中有些字符是打印不出来的,如一些动作字符,这些字符叫做“非打印字符”,C语言为非打印字符提供了另外一种表示方式。


     


    非打印字符只是ASCII的一个子集
    转义字符       对应ASCII码十进制 


      /a 响铃(BEL)   007


      /b 退格(BS)     008


      /f 换页(FF)      012


      /n 换行(LF)     010


      /r 回车(CR)     013


      /t 水平制表(HT) 009


      /v 垂直制表(VT) 011


      // 反斜杠          092


      /? 问号字符      063


      /' 单引号字符    039


      /" 双引号字符   034


    所有的ASCII码都可以通过转义方式表示出来 
    char test='A'; (编译器将其转换为相应十进制编码值,即65) 
    char test='/101';(对应的是A的八进制表示方式,需要注意的是:/ 后最多只能是三位,若写成'/0101 则出错,但是若编码为/007,则可以写成/07或者是/7') 
    char test='/0x41';(对应的是A的十六进制表示方式) 
    不使用转义方式表示 
    char test=65; 
    char test=0101; (注:其中前面的0表示为八进制表示,若没有0,表示的是e) 
    char test=0x41; 
    对于转义字符,除了上面的两种表示方式以外,还有第三种表示方式,假设蜂鸣字符 
    ASCII码值:char beep=7(或者用八进制或者十六进制表示); 








    C中提供的特殊的符号序列:char beep='/a'(或者转义的八进制和十六进制表示) 
    转义的方式表示:char beep=‘/007' 
    转义字符的另外用法:引用特殊的字符常量,如引用/ 、'、 ",写成//、/'、和/" 
     


    需要注意的几个方面:


     


    无论是普通字符还是转义序列,如果作为双引号中字符集合的一部分,则无需引号 如:printf("Hello!7/n"),打印Hello!7 




    什么时候使用ASCII码,什么时候使用转义序列呢?如果要在某个转义序列和其对应的ASCII码之间做出选择,则应当使用转义序列。比如选择'/f'而不是'/014'。首先,转义字符更容易记忆;其次,这样做使程序的可移植性更好。因为在不使用ASCII码的系统中,'/f'仍然适用 




    当需要数值编码时,为什么使用'/032'而不是032?首先,'/032'更能清晰地表达程序员表示一个字符编码的意图;其次,'/032'这样的转义序列可以嵌入到C字符串中,而032不可以,例如:"Hello!/007/n"中就嵌入了'/007' 
    使用ASCII时要注意数字和数字字符的区别。例如字符4的ASCII码值为52.写法'4'表示符号4而不是数值4。

  • 相关阅读:
    超级好用的excel导出方法,比phpexcel快n倍,并且无乱码
    PHP生成随机数;订单号唯一
    php判断检测一个数组里有没有重复的值
    修改git 提交的用户名和用户Email命令
    利用 PHP CURL zip压缩文件上传
    Linux 重启 PHP-FPM 命令
    Postgresql 时间串转换格式
    rollup node.js 打包工具
    PHP正则表达式提取html超链接中的href地址
    解决Ubuntu系统下 mysql 远程连接失败的问题 ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xx.xx' (110)
  • 原文地址:https://www.cnblogs.com/guodongsun/p/4359494.html
Copyright © 2011-2022 走看看