在 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"