JS编码解码
在前端开发中,经常需要对字符串进行编码和解码操作。而在 JavaScript 中,我们可以使用内置的方法来进行这些操作。本文将详细介绍 JS 中的编码和解码方法,帮助读者更好地理解和应用这些功能。
编码
encodeURI()
encodeURI()
方法用于对整个 URI 进行编码。它会替换某些特殊字符为它们的 UTF-8 编码。需要注意的是,encodeURI()
方法不会对斜杠、冒号以及问号进行编码。下面是一个简单的示例:
let uri = "https://www.example.com/?name=张三&age=20";
let encodedURI = encodeURI(uri);
console.log(encodedURI);
运行结果:
https://www.example.com/?name=%E5%BC%A0%E4%B8%89&age=20
encodeURIComponent()
encodeURIComponent()
方法用于对 URI 中的某些特殊字符进行编码,包括所有非字母数字字符。下面是一个示例:
let uri = "https://www.example.com/?name=张三&age=20";
let encodedComponent = encodeURIComponent(uri);
console.log(encodedComponent);
运行结果:
https%3A%2F%2Fwww.example.com%2F%3Fname%3D%E5%BC%A0%E4%B8%89%26age%3D20
解码
decodeURI()
decodeURI()
方法用于解码通过 encodeURI()
编码的 URI。下面是一个示例:
let encodedURI = "https://www.example.com/?name=%E5%BC%A0%E4%B8%89&age=20";
let decodedURI = decodeURI(encodedURI);
console.log(decodedURI);
运行结果:
https://www.example.com/?name=张三&age=20
decodeURIComponent()
decodeURIComponent()
方法用于解码通过 encodeURIComponent()
编码的 URI 组件。下面是一个示例:
let encodedComponent = "https%3A%2F%2Fwww.example.com%2F%3Fname%3D%E5%BC%A0%E4%B8%89%26age%3D20";
let decodedComponent = decodeURIComponent(encodedComponent);
console.log(decodedComponent);
运行结果:
https://www.example.com/?name=张三&age=20
总结
通过上面的介绍,我们可以看到在 JavaScript 中使用 encodeURI()
和 encodeURIComponent()
方法对 URI 进行编码,使用 decodeURI()
和 decodeURIComponent()
方法对编码后的 URI 进行解码。这些方法在前端开发中十分常用,可以帮助我们处理各种 URI 相关的操作。