• 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。

  • 相关阅读:
    (六)静态域,静态方法和静态代码块
    (五)final修饰符
    (四)函数的参数传递——值传递
    (三)java字符串
    第二章 shell的语法
    字符串操作
    PropertyGrid—属性类别排序
    PropertyGrid—为复杂属性提供下拉式编辑框和弹出式编辑框
    PropertyGrid--为复杂属性提供编辑功能
    PropertyGrid—添加EventTab
  • 原文地址:https://www.cnblogs.com/guodongsun/p/4359494.html
Copyright © 2020-2023  润新知