转义字符是编程语言中表示字符的一种特殊形式。字符串转义字符是用来表示字符集中定义的字符,或者是某一些特定的字符在编辑语言中被定义为特殊用途的字符。一般用于表示不能直接显示的字符,比如后退键、回车键等,或者用来将特殊意义的字符转换回它原来的意义。常用于C语言、HTML、JAVA等编程环境中。

中文名

字符串转义字符

外文名

String escape character

学    科

计算机编程语言

C语言、HTML、JAVA等

意    义

表示非直译字符

普遍表示

ASCII字符

字符串转义字符定义

编辑

字符串转义字符是用来表示字符集中定义的字符,比如ASCll里面的控制字符及回车换行等字符,这些字符都没有现成的文字代号,所以只能用转义字符来表示 。或者是某一些特定的字符在编辑语言中被定义为特殊用途的字符。字符串转义字符是编程语言中表示字符的一种特殊形式。一般用于表示不能直接显示的字符,比如后退键、回车键等,或者用来将特殊意义的字符转换回它原来的意义。常用于C语言、HTML、JAVA等编程环境中。

字符串转义字符常用转义字符

编辑

如HTML转义符、java 转义符、xml 转义符、 oracle 转义符、sql 转义符 、sqlserver 转义符、php 转义符、asp 转义符、vb转义符、 javascript 转义符等等,还有网址中的百分号。

字符串转义字符C语言转义字符对照表

在字符集中,有一类字符具有这样的特性:当从键盘上输入这个字符时,显示器上就可以显示这个字符,即输入什么就显示什么。这类字符称为可显示字符,如a、b、c、$、+和空格符等都是可显示字符。另一类字符却没有这种特性。它们或者在键盘上找不到对应的一个键(当然可以用特殊方式输入),或者当按键以后不能显示键面上的字符。其实,这类字符是为控制作用而设计的,故称为控制字符。

转义字符是C语言中表示字符的一种特殊形式。转义字符以反斜'\'开头,后面跟一个字符或一个八进制或十六进制数表示。转义字符具有特定的含义,不同于字符原有的意义,故称转义字符。

通常使用转义字符表示ASCII码字符集中不可打印的控制字符和特定功能的字符,如用于表示字符常量的单撇号('),用于表示字符串常量的双撇号(")和反斜杠(\)等。转义字符主要用来表示那些用一般字符不便于表示的控制代码。如下表为常用C语言转义字符转换表:

C 语言区分大小写,所以转义字符中只能使用小写字母,如果’\’后的字符和它不构成转义字符,则’\’不起转义作用,且’\’可以被忽略[1]

字符串转义字符HTML转义字符对照表

像“”这类符号已经用来表示HTML标签,因此就不能直接当做文本中的符号来使用。为了在HTML文档中使用这些符号,就需要定义它的转义字符串。当解释程序遇到这类字符串时就把它解释为真实的字符。在输入转义字符串时,要严格遵守字母大小写的规则[2]

如下表为常用HTML转义字符转换表:

HTML语言还有一些特殊转义字符,如下表为特殊转义字符对照表:

字符串转义字符JAVA转义字符对照表

JAVA转义字符对照报表如下[3]

字符串转义字符意义

编辑

字符串转义字符转义字符出现原因

其实所有编程语言,拥有转义字符的原因基本上是两点:

1.使用转义字符来表示字符集中定义的字符,比如ASCll里面的控制字符及回车换行等字符,这些字符都没有现成的文字代号。所以只能用转义字符来表示 。

2.某一些特定的字符在编辑语言中被定义为特殊用途的字符。这些字符由于被定义为特殊用途,它们失去了原有的意义。比如说Html中,

字符串转义字符转义字符的意义

从上面也可以看出转义无非是两种情况:

1.将普通字符转为特殊用途,一般是编程语言中,用于表示不能直接显示的字符,比如后退键,回车键等。

2.用来将特殊意义的字符转换回它原来的意义。一般用在正则表达式中。还有有些脚本语言是弱类型,有些语言比如html 并不是编程语言,而是标记语言,有些语言只有一种类型 比如shell 脚本语言,这些语言中字符串都不加引号” ” ,或者可以不加引号“ ”,所以有时候需要转移字符说明某字符此时的身份是普通字符,而不是有特殊意义的元字符。

另外出于网站的安全。在数据写入数据库前,都会使用转义字符(函数)对一些敏感字符进行转义。这样做可以避免一些别有用心的人利用特殊符号的注入攻击。

字符串转义字符几种转义字符的比较及应用

编辑

许多字符都有相应的转义字符序列,包括单引号(\')、换行(\n)、制表符(\t)和反斜线(\\)。使用被称为八进制转义字符的特殊类型的转义字符序列,可以将任何ASCII字符置于一个字符串字面常量或一个字符字面常量中,但是最好是尽可能地使用普通的转义字符序列。

普通的转义字符序列和八进制转义字符都比Unicode转义字符要好得多,因为与Unicode转义字符不同,转义字符序列是在程序被解析为各种符号之后被处理的。

ASCII是字符集的最小公共特性集,它只有128个字符,但是Unicode有超过65,000个字符。一个Unicode转义字符可以被用来在只使用ASCII字符的程序中插入一个Unicode字符。一个Unicode转义字符精确地等价于它所表示的字符。

Unicode转义字符被设计为用于在程序员需要插入一个不能用源文件字符集表示的字符的情况。它们主要用于将非ASCII字符置于标识符、字符 串字面常量、字符字面常量以及注释中。偶尔地,Unicode转义字符也被用来在看起来颇为相似的数个字符中明确地标识其中的某一个,从而增加程序的清晰 度。

总之,在字符串和字符字面常量中要优先选择的是转义字符序列,而不是Unicode转义字符。Unicode转义字符可能会因为它们在编译序列中 被处理得过早而引起混乱。不要使用Unicode转义字符来表示ASCII字符。在字符串和字符字面常量中,应该使用转义字符序列;对于除这些字面常量之 外的情况,应该直接将ASCII字符插入到源文件中。

词条图册

更多图册

参考资料

1.

张威. C语言转义字符疑难解析[J]. 信息与电脑:理论版, 2012(10):105-106.

2.

贾耀炜, 杨华中. HTML 语言与主页设计[M]. 人民邮电出版社, 1999.

3.

ElliotteRustyHarold, Harold, 刘文红,等. Java语言与XML处理教程[M]. 清华大学出版社, 2003.

c 字符串 html转义字符串,字符串转义字符相关推荐

  1. python字符串引号和转义_单引号字符串和转义符

    1.单引号字符串和转义符 字符串和数字一样都是值,可以直接使用,在python控制台中直接输入字符串,如"hello world",会按原样输出该字符串,只不过用单引号扩了起来 & ...

  2. python的数值可以转换为字符串_python 数值转换为字符串Python对HTML转义字符进行反转义...

    什么是转义字符 在 HTML 中 .& 等字符有特殊含义( 用于标签中,& 用于转义),他们不能在 HTML 代码中直接使用,如果要在网页中显示这些符号,就需要使用 HTML 的转义字 ...

  3. C#格式化字符串中转义大括号“{}”

    C#格式化字符串中转义大括号"{}" 原文:C#格式化字符串中转义大括号"{}" 今天,用C#写程序操作Excel,读取单元格内容根据所需格式生成字符串,使用S ...

  4. 固本培元之二:字符串和转义符

    字符串string. 1.不可变性:一但被赋值就会再变化,每次字符串的变化都会把指针指向新的字符串. 2.可以用:字符串之间可以用串联运算符(+)产生出新的字符串. 3.常用属性:Length表示字符 ...

  5. php 自定义字符串转义,PHP 字符串转义函数(addslashes,stripslashes)功能实例

    对PHP 字符串转义函数(addslashes,stripslashes)详解感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 在PHP中,有两个函数与字符串的转义有关,他们分别是 add ...

  6. 针对大于号gt;、小于号lt;等html代码 和 双引号、单引号'等java字符串的转义处理

    Html特殊字符转义 我们都知道,在html中遇到>.<.空格等字符显示处理是会将其转为>.<. 来展示使用,以便兼容和不影响既有页面的html代码里的成对标签的正常加载,与之 ...

  7. AngularJs 取消对 html 字符串标签转义

    2019独角兽企业重金招聘Python工程师标准>>> 有时我们需要在页面中输出含有 html 标签的字符串,但标签在页面上却被 angularJs 自动转义了,在页面上 html ...

  8. 【JavaScript框架封装】JavaScript中的文本字符串的转义和反转义的实现

    版权声明:本文为博主原创文章,未经博主允许不得转载.更多学习资料请访问我爱科技论坛:www.52tech.tech https://blog.csdn.net/m0_37981569/article/ ...

  9. python不对字符串进行转义

    python不对字符串进行转义,即原始字符串.只需在字符串前面加上'r'或'R'即可. s=r'hello\nworld' 或者 s=R'hello\nworld'

  10. java正则表达式 百分号_转义中间字符串百分号,是一个正则表达式的最佳选择?...

    我需要转义%字符在由用户输入的字符串中 - 用[%]取代它们,除非它们位于字符串的开始或结尾.转义中间字符串百分号,是一个正则表达式的最佳选择? 例如%foo%foo[%]foo%应该变成%foo[% ...

最新文章

  1. Oracle树查询总结
  2. vs程序生成后找不到exe文件
  3. 学生如何提高专业英文阅读能力--施一公教授
  4. Spring AOP,AspectJ,CGLIB 有点晕
  5. ID3DXMesh的数据导出和导入
  6. POJ 3041 Asteroids (对偶性,二分图匹配)
  7. 怎样才能培养孩子良好的用餐习惯
  8. 【BZOJ 1036】 树的统计count
  9. Python生成exe可执行文件的两种方法(py2exe和pyinstaller)
  10. tensorflow之dropout
  11. MySQL 优化技巧
  12. Office 365系列(1)------Office 365邮箱申请及初步配置说明
  13. 计算机二级C语言判断标准,2012年计算机等级考试二级C语言常见问题:标准输入输出库...
  14. 鼎捷T100标准接口调用
  15. 联想重装系统去掉保护_联想硬盘保护系统,小编告诉你联想硬盘保护系统怎么安装...
  16. 超级应用/_超级应用
  17. 2021年危险化学品经营单位主要负责人考试及危险化学品经营单位主要负责人考试试卷
  18. 关于SYSTICK延时函数的两个小疑问
  19. 教你在Java中实现3d编程简介
  20. 机械研究生自学python-年薪 30W 起,如何 4 个月拿下 AI 人工智能工程师 Offer?

热门文章

  1. 3D Hashin(纤维失效)+Puck(基体失效)渐进损伤失效准则
  2. 面试不行,是你的逻辑问题--如何提升逻辑表达能力,让说话随时都能条理清晰?
  3. TinyXML2使用总结
  4. 565.Array Nesting
  5. 【牛客网】 F-大吉大利,今晚吃鸡——跑毒篇
  6. MMORPG 地图实现
  7. ftp启动关闭重启命令
  8. 大龄程序员的人工智能学习之路
  9. 防火墙策略管理-firewalld
  10. HM-SpringCloud微服务系列6.1【DSL查询文档】