在 JavaScript 中,可以使用以下内置函数来进行编码和解码:
编码
encodeURIComponent()
: 该函数用于对 URI 组件进行编码,它可以将字符串中的特殊字符转换为对应的编码形式。例如,空格会被编码为%20
。
var originalString = "Hello World!";
var encodedString = encodeURIComponent(originalString);
console.log(encodedString); // 输出 "Hello%20World%21"
encodeURI()
: 该函数用于对整个 URI 进行编码,它与encodeURIComponent()
函数的区别在于不会对某些特殊字符进行编码,如:
、/
、?
等。
var originalURL = "http://example.com/path?query=hello world";
var encodedURL = encodeURI(originalURL);
console.log(encodedURL); // 输出 "http://example.com/path?query=hello%20world"
解码
decodeURIComponent()
: 该函数用于对通过encodeURIComponent()
函数编码的字符串进行解码,将编码后的字符串转换为原始字符。var encodedString = "Hello%20World%21"; var decodedString = decodeURIComponent(encodedString); console.log(decodedString); // 输出 "Hello World!"
decodeURI()
: 该函数用于对通过encodeURI()
函数编码的 URI 进行解码,还原原始的 URI。
var encodedURL = "http://example.com/path?query=hello%20world";
var decodedURL = decodeURI(encodedURL);
console.log(decodedURL); // 输出 "http://example.com/path?query=hello world"