JS中encode、decode的应用说明
在实际开发中,我们经常会用到编码、解码这样的功能。比如将字符串进行URL编码,或者将JSON对象进行base64编码等等。在Javascript中,我们可以使用encodeURI、encodeURIComponent、decodeURI、decodeURIComponent等方法来进行编码解码的操作。
encodeURI
encodeURI
方法可以对URI中的非法字符进行编码,比如空格、汉字、特殊符号等等,然后返回一个编码后的字符串。其使用方式如下:
var url = "http://www.example.com/?name=张三&age=20";
var encodedUrl = encodeURI(url);
console.log(encodedUrl);
运行以上代码,我们会发现输出的结果为:http://www.example.com/?name=%E5%BC%A0%E4%B8%89&age=20
,其中张三被编码成了%E5%BC%A0%E4%B8%89,空格被编码成了%20。通过这种方式,我们可以避免URI中出现非法字符导致的错误。
encodeURIComponent
而对于非URI字符串的编码,我们可以使用encodeURIComponent
方法。与encodeURI
类似,该方法会将字符串中的非法字符进行编码,但在此基础上,它会将除了英文字母、数字、以及四个特殊字符(- _ . ! ~)之外的字符进行编码。与encodeURI
的区别在于,encodeURIComponent
会对斜杠等常规符号进行编码。
var str = "hello world, 你好!";
var encodedStr = encodeURIComponent(str);
console.log(encodedStr);
运行以上代码,输出的结果为:hello%20world%2C%20%E4%BD%A0%E5%A5%BD%EF%BC%81
,其中空格、逗号、感叹号、汉字等等都被正确编码。
decodeURI
在下面的示例中,先使用encodeURI
对字符串进行编码,然后使用decodeURI
进行解码,最后输出结果。
var str = "http://www.example.com/?name=张三&age=20";
var encodedStr = encodeURI(str);
console.log(encodedStr);
var decodedStr = decodeURI(encodedStr);
console.log(decodedStr);
decodeURIComponent
与decodeURI
类似,decodeURIComponent
方法可以对非URI字符串进行解码。其使用方式与decodeURI
相同。
var str = "hello%20world%2C%20%E4%BD%A0%E5%A5%BD%EF%BC%81";
var decodedStr = decodeURIComponent(str);
console.log(decodedStr);
以上就是Javascript中编码解码相关方法的应用说明,希望能对大家有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js中encode、decode的应用说明 - Python技术站