js字符串三个编码编码的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js字符串三个编码编码的区别相关的知识,希望对你有一定的参考价值。

1、escape():编码目的为了防止字符串中特殊字符造成运算错误,主要在字符串运算中使用;

不进行编码的69个字符:A-Z、a-z、0-9、@、*、_、+、-、.、\。

2、encodeURI(): 编码目的为了防止字符串中特殊字符造成URI传递错误,主要在URI跳转中使用;

不进行编码的82个字符:A-Z、a-z、0-9、;、?、:、&、@、=、$、,、#、-、~、!、‘、*、_、+、.、/、(、)。

3、encodeURIComponent():编码目的为了防止字符串中特殊字符造成URI参数的读取错误,主要在URI的参数传递使用;

不进行编码的71个字符:A-Z、a-z、0-9、-、~、!、‘、*、_、.、(、)。

以上是关于js字符串三个编码编码的区别的主要内容,如果未能解决你的问题,请参考以下文章

字符集和编码区别以及HTML/JS/CSS实体字符的表示

js的escape()encodeURI()encodeURIComponent()区别详解

JS对字符串进行编码

JS转义 escape()encodeURI()encodeURIComponent()区别详解

JS编码三方法区别:escapeencodeURI和encodeURIComponent

InputStream的三个read的区别