编码和解码 URI 的函数

一、前言
统一资源标识符,或叫做 URI,是用来标识互联网上的资源(例如,网页或文件)和怎样访问这些资源的传输协议(例如,HTTP 或 FTP)的字符串。除了encodeURI、encodeURIComponent、decodeURI、decodeURIComponent四个用来编码和解码 URI 的函数之外 ECMAScript 语言自身不提供任何使用 URL 的支持;
二、URI组成形式
一个 URI 是由组件分隔符分割的组件序列组成。其一般形式是:

   Scheme : First / Second ; Third ? Fourth

其中斜体的名字代表组件;“:”, “/”, “;”,“?”是当作分隔符的保留字符
三、区别
1、encodeURI()  //转义 一个URI中的字

   语法:encodeURI(uri)  //这个在编码不同的AJAX请求时,解决中文乱码问题经常用到。
  var str1 = "你好javascript";
  var str2 = encodeURI(str1);
  document.write(str2);   //输出%E4%BD%A0%E5%A5%BDjavascript 

2、decodeURI()  //解码一个URI中的字符字

   语法:decodeURI(uri)
  var str1 = "你好javascript";
  var str2 = encodeURI(str1);
  document.write(str2);   //输出%E4%BD%A0%E5%A5%BDjavascript
  var str3 = decodeURI(str2);
  document.write("
" + str3) //输出 你好javascript

3、encodeURIComponent()  //转义URI组件中的字符

 var str1 = "你好javascript";
 var str2 = encodeURIComponent(str1);
 document.write(str2);   //输出%E4%BD%A0%E5%A5%BDjavascript

4、decodeURIComponent()  //解码一个URI组件中的字符

 var str1 = "你好javascript";
 var str2 = encodeURIComponent(str1);
 document.write(str2);   //输出%E4%BD%A0%E5%A5%BDjavascript
 var str3 = decodeURIComponent(str2);
 document.write("
" + str3) //输出 你好javascript

5、escape()  //编码一个字符串

 语法:escape(value);
 var str = "javascript 你好";
 var str1 = escape(str);
 document.write(str1);  //javascript%20%u4F60%u597D

6、unecape()  //解码一个由escape()函数编码的字符串

  window.onload = function () {
    var str = "javascript 你好";
    var str1 = escape(str);
    ocument.write(str1); //javascript%20%u4F60%u597D
    var str2 = unescape(str1);
    alert(str2);      //弹出 javascript你好
  }

你可能感兴趣的:(编码和解码 URI 的函数)