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

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

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

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

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

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

字符串中的转义

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

字符集就是字符的集合                         ,最常见的 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
网站如何优化排名(网站的排名优化怎么做) 苹果电脑文件夹如何重命名(mac文件夹怎么重命名?苹果电脑文件夹重命名快捷键)