在JavaScript中,可以使用内置的函数encodeURIComponent()
和decodeURIComponent()
对字符串进行编码和解码。
encodeURIComponent()
函数将字符串中的某些字符转换为它们的十六进制表示,以便在URL中使用。这些字符包括:字母、数字、(、)、*、-、.、_和~。其他字符将被转换为%xx的形式,其中xx是字符的十六进制ASCII码值。decodeURIComponent()
函数对使用encodeURIComponent()
编码的字符串进行解码。下面是一个示例,展示如何使用这些函数对字符串进行编码和解码:
let originalString = 'Hello, 世界!';
let encodedString = encodeURIComponent(originalString);
let decodedString = decodeURIComponent(encodedString);
console.log(originalString); // 输出 "Hello, 世界!"
console.log(encodedString); // 输出 "Hello%2C%20%E4%B8%96%E7%95%8C%21"
console.log(decodedString); // 输出 "Hello, 世界!"
在上面的示例中,原始字符串包含非ASCII字符,这些字符被encodeURIComponent()
函数转换为它们的十六进制表示。decodeURIComponent()
函数将编码后的字符串解码回原始字符串。
需要注意的是,encodeURIComponent()
和decodeURIComponent()
函数只能处理字符串。如果需要处理其他类型的数据,需要将其转换为字符串后再进行编码和解码。