首页IT科技转义字符'\n'的含义是(转义字符在前端开发中的详细介绍)

转义字符'\n'的含义是(转义字符在前端开发中的详细介绍)

时间2025-05-04 10:58:40分类IT科技浏览11603
导读:说起转义字符,大家最先想到的肯定是使用反斜杠,这也是我们最常见的,很多编程语言都支持。...

说起转义字符                ,大家最先想到的肯定是使用反斜杠                        ,这也是我们最常见的        ,很多编程语言都支持                。

转义字符从字面上讲            ,就是能够转变字符原本的意义                        ,得到新的字符                        。常用在特殊字符的显示以及特定的编码环境中        。

除了反斜杠以外            ,在前端开发中        ,还有其他几种转义字符                        ,也是较常见的                ,本文将对这些做一个总结            。

字符串中的转义

使用反斜杠来表示转义字符时    ,主要是在字符串中使用                        。这里就需要了解字符集和编码等知识                        ,具体可见前文            。

字符集就是字符的集合                    ,最常见的 ASCII字符集                、Unicode字符集等:

ASCII的任一个字符都可以被转义,使用的就是反斜杠加上数字编码                    ,特殊的也能使用反斜杠加上字母        。

Unicode                        ,也能进行转义    ,使用则是反斜杠加上码点                        。由于Unicode包含了ASCII的所有字符                ,且编码一致                        ,所以都可算编码转义        ,而现在前端编程所涉及到的已经都是Unicode字符                。

字符集和字符编码等具体知识            ,可见博文前端开发中需要搞懂的字符编码知识    。

一般                        ,反斜杠(\)在字符串中有特殊的含义            ,用来和后面的字符一起组合表示一些特殊字符        ,所以又被称为转义符                        。

反斜杠后面可以跟着的字符大致有以下几种:

字母 三位八进制 x 加上 两位十六进制 Unicode码点

字母

转义字符中最基础的就是:使用反斜杠\加上字母                        ,表示那些无法输入表示特殊含义的字符                ,常见的有以下几种:

\b后退键 \f换页符 \n换行符 \r回车键 \t制表符 \v垂直制表符

以前在字符串拼接时    ,就经常使用\n                        、\t:

"\n " + console.log(test) + "\n "

需要注意的是                        ,这些字母是特殊的可应用于转义的字母                    。

如果是非特殊字母                    ,加上反斜杠,则会忽略反斜杠                    ,很多字符也是同样忽略反斜杠: \a // a \" // " \? // ?

十六进制数字

十六进制更常用                        ,它的转义规则:\x    ,\x后跟上2位十六进制数。

因为只有两位                ,范围是:0x00-0xFF                        ,所以这种方式也只能输出265种字符        ,其中: 0x00-0x7F 和ASCII码一致 0x80-0x9F 表示控制字符 0xA0-0xFF 表示文字字符 \xA9 // © \x75 === u // true \x67 // g

八进制数字

反斜杠后面跟3位八进制数()            ,就代表一个转义字符:

\251 // © \165 === u // true \106 // F

取值范围:000-377                        ,总共也是有256种字符            ,其中就包含了所有的ASCII码                    。

八进制和十六进制能转义的字符是一样的        ,进行进制转换即可                        ,见前文                        。

在JS中                ,用这两种方式的转义字符是相等的: \xA9 === \251 // true \200 === \x80 // true

Unicode码点

提到Unicode    ,首先需明确的一点                        ,JS中的字符串是基于Unicode的UTF-16编码方式    。

Unicode字符规定了码点和字符平面                。

码点使用从U+0000到U+10FFFF的方位来表示所有的字符                        。

如果直接使用码点来转义所有的Unicode字符                    ,则使用规则:\u{<hex>},\u后跟上1-6位的十六进制: \u{A9} // © \u{597d} // \u{1f604} // ?

字符平面又分为基本平面和非基本平面

其中对于基本平面(65536个字符)的字符                    ,转义规则:\u<hex>                        ,\u后跟上4位十六进制数: \u00A9 // "©" \u0075 === u // true \u597d //

对于非基本平面的字符    ,则要使用UTF-16的码元规则                ,一般是两个码元:\u<hex>\u<hex>                        ,\u后各4位十六进制:

\uD83D\uDE04 // ? \uD83C\uDF34 // ?

只要获取到字符的Unicode编号码点        ,即可以通过这种方式转义所有的字符        。

正则表达式中的转义

在正则表达式中有许多特殊的符号            ,起着不同的作用                        ,但如果要匹配这些特殊符号本身            ,就需要用到转义了            。

这里的转义字符也是使用反斜杠        ,后面跟上需要匹配的符号                        ,即可                ,如:\+ 匹配加号                        。

在正则表达式中    ,需要反斜杠转义匹配的字符                        ,一共是12个:^ . [ $ ( ) | * + ? { \                    ,这些字符都是正则的特殊字符            。

/5$/.test(5$) // false /5\$/.test(5$) // true

上面代码,$符号加了转义才能匹配成功                    ,否则不匹配        。

当使用RegExp方法时                        ,正则参数是字符串    ,反斜杠\需要2个                ,因为字符串内会先转义一次:

(new RegExp(5$)).test(5$) // false (new RegExp(5\$)).test(5$) // false (new RegExp(5\\$)).test(5$) // true

上面代码中                        ,只有第三行因为使用了两个反斜杠        ,才能转义成功            ,得到正确的值                        。

HTML中的转义

HTML中转义字符也是较常见的                        ,主要有三种形式的转义                。

最常见的是基于实体名称

& 后加上实体名称 再加上分号 ;: 空格 &nbsp; 大于号 > &gt;

实体名称转义以前是为了处理html中的特殊的字符显示问题            ,比如小于号 <在THML中是作为元素标签的一部分使用的        ,作为特殊字符                        ,直接输入会出错    。

但目前在现代浏览器上                ,已经能正常显示大于小于号这些符号    ,可以不使用转义字符                        。

另两种是基于Unicode码点

&#x 后加十六进制码点 再加上分号 ;: 😄 => ? 好 => 好 & => & &# 后加十进制的码点 再加上分号 ;: 😄 => ? 好 => 好 & => &

基于实体名称转义的字符                        ,也是被包含在Unicode字符集中的                    ,所以也可以使用码点来进行转义                    。

在HTML中最常用到的转义字符,可见下面整理的表格: 字符 名称 名称转义 码点转义 " 双引号 &quot; " & 和号 &amp; & < 小于号 &lt; <

|大于号|>|>

|单引号|'|

空格|空格| | 

©|版权号|©|©

¢|分|¢|¢

£|镑|£|£

¥|人名币|¥|¥

$|美元|$|$

©|版权|©|©

®|注册商标|®|®

×|乘号|×|×

÷|除号|&divide;|÷

URL转义字符

另外                    ,在web开发中                        ,URL链接也是有编码转义的    ,特别是针对URL元字符和中文等特殊字符:

http://baidu.com/中国 编码转义为 http%3A%2F%2Fbaidu.com%2F%E4%B8%AD%E5%9B%BD

可以使用encodeURIComponent 和 decodeURIComponent 对URL链接进行编解码处理。

URL中的转义规则:根据系统的默认编码(一般是UTF-8)                ,是使用百分号(%)加上两位的十六进制数                    。

实际的转义                        ,就是基于Unicode字符的码点        ,不过与字符串不太一样            ,这里使用的一般是UTF-8编码方式                        。

URL部分元字符的转义:

元字符 名称 转义符 + 加号 %2B 空格 空格 %20 / 斜杠 %2F ? 问号 %3F # 井号 %23 & 和号 %26 = 等号 %3D : 冒号 %3A @ at符 %40 , 逗号 %2C ; 分号 %3B

中文等特殊字符则被转义成多个组合:

encodeURIComponent(http://baidu.com/中国?) // http%3A%2F%2Fbaidu.com%2F%E4%B8%AD%E5%9B%BD%F0%9F%98%84

上面代码中                        ,

就有元字符的转义:: => %3A        、/ => %2F            ,

而中文则转义成:中 => %E4%B8%AD            、国 => %E5%9B%BD        ,

表情符号转义成:? => %F0%9F%98%84    。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
python设置文件权限(python Package如何设置文件入口) python中关键字的含义(python关键字如何传递参数)