encodeURI 编码、decodeURI 解码

encodeURI 编码、decodeURI 解码

encodeURI 编码、decodeURI 解码

 encodeURI和decodeURI 主要用于URL(网址)的编码、解码,是JavaScript的自身函数,采用UTF-8编码格式对指定的字符串进行编码或解码。

 编码函数 encodeURI():将非字母、数字 字符转换成ASCII码,以16进制表示
 译码函数 decodeURI():将被encodeURI()编码过的 ASCII码转换成对应的字符


····本项功能只是用于 encodeURI编码和decodeURI解码 的对照,可以识别和研究网址中被编码过的汉字。

  encodeURI函数不能编码的字符:@ ~ ! @ # $ & * ( ) _ + : ? - = ; ' , . / 英文 数字 

  由于目前各国网页字符集的不同造成了URL编码的多种形式,例如 GBK和UTF 这2种字符集的网页中汉字URL编码方式就不一样。
 encodeURI编码和decodeURI解码只能针对UTF-8字符集的网页,不能识别GBK网页编码过的汉字编码。

encodeURIComponent 编码、decodeURIComponent 解码

encodeURIComponent和decodeURIComponent 主要用于URL(网址)的编码、解码,是JavaScript的自身函数,采用UTF-8编码格式对指定的字符串进行编码或解码。

 编码函数 encodeURIComponent():将非字母、数字 字符转换成ASCII码,以16进制表示
 译码函数 decodeURIComponent():将被encodeURIComponent()编码过的 ASCII码转换成对应的字符



  ····本项功能只是用于 encodeURIComponent编码和decodeURIComponent解码 的对照,可以识别和研究网址中被编码过的汉字。
  encodeURIComponent函数相对于encodeURI函数来说,可以对更多的字符进行编码,
  包括:@ # $ & + : ? = ; , / 等字符。


  encodeURIComponent函数不能编码的字符:@ ~ ! * ( ) _ - ' . 英文 数字

  由于目前各国网页字符集的不同造成了URL编码的多种形式,例如 GBK和UTF 这2种字符集的网页中汉字URL编码方式就不一样。
 encodeURIComponent编码和decodeURIComponent解码只能针对UTF-8字符集的网页,不能识别GBK网页编码过的汉字编码。

 
1、该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?:@&=+$,#
2、如果 URI 组件中含有分隔符,比如 ? 和 #,则应当使用 encodeURIComponent() 方法分别对各组件进行编码。
原文地址:https://www.cnblogs.com/yu412/p/13577997.html