转义字符和控制字符的区别在于定义不同。转义字符是很多程序语言、数据格式和通信协议的形式文法的一部分。控制字符出现于特定的信息文本中,表示某一控制功能的字符。转义字符不属于控制字符;控制字符也不属于转义字符。
转义字符
转义字符是很多程序语言、数据格式和通信协议的形式文法的一部分。对于一个给定的字母表,一个转义字符的目的是开始一个字符序列,使得转义字符开头的该字符序列具有不同于该字符序列单独出现时的语义。因此转义字符开头的字符序列被叫做转义序列。
转义序列通常有两种功能。名列前茅个是编码一个句法上的实体,如设备命令或者无法被字母表直接表示的特殊数据。第二种功能,也叫字符引用,用于表示无法在当前上下文中被键盘录入的字符(如字符串中的回车符),或者在当前上下文中会有不期望的含义的字符(如C语言字符串中的双引号字符”,不能直接出现,必须用转义序列表示)。在后面那种情况,转义序列是一种由转义字符自身和一个被引用的字符组成的一个二合字母(digraph)情形。
控制字符
控制字符(Control Character),是出现于特定的信息文本中,表示某一控制功能的字符。
控制字符(Control Character),出现于特定的信息文本中,表示某一控制功能的字符。
在计算中,一个控制字符或非打印字符,是一个代码标示(一个数字)是否在字符集,其自身也是书写字母来描述的。所有输出在32以下的ASCII表都是这个类型,包括
BEL(要求有声信号来响应终端的接收);
SYN(同步信号);
ENQ(要求接收后发出响应来验证存在);
Unicode标准增加了许多新的非打印字符,比如Zero-Width Non-Joiner。
转义字符不属于控制字符;控制字符也不属于转义字符。如果控制字符的定义是非图形的字符,或者对输出设备(打印机、文本终端)有特殊意义的字符,那么针对这些设备的转义字符也是控制字符。但是程序设计用的转义字符是图形字符,因此它们不是控制字符。相反地,大多数ASCII控制字符单独都具有控制功能,因此它们不是转义字符。
延伸阅读:
转义字符的组成
转义字符串(Escape String),即字符实体(Character Entity)分成三部分:名列前茅部分是一个&符号,英文叫ampersand;第二部分是实体(Entity)名字或者是#加上实体(Entity)编号;第三部分是一个分号。
比如,要显示小于号(<),就可以写 < 或者 < 。
用实体(Entity)名字的好处是比较好理解,一看lt,大概就猜出是less than的意思,但是其劣势在于并不是所有的浏览器都支持最新的Entity名字。而实体(Entity)编号,各种浏览器都能处理。
提示:实体名称(Entity)是区分大小写的。
备注:同一个符号,可以用“实体名称”和“实体编号”两种方式引用,“实体名称”的优势在于便于记忆,但不能保证所有的浏览器都能顺利识别它,而“实体编号”则没有这种担忧,但它实在不方便记忆。
文章标题:转义字符和控制字符有什么区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/37799