encodeURI
是 JavaScript 中用于编码统一资源标识符 (URI) 的函数。它将 URI 中的某些字符替换为十六进制转义序列,以确保 URI 的合法性和安全性。encodeURI
不会编码 ASCII 字母和数字以及特定的标点符号,如 - _ . ! ~ * ' ( )
。
encodeURI
: 编码整个 URI。encodeURIComponent
: 编码 URI 的组成部分,如查询参数的值。对应的解码函数是 decodeURI
,它将编码后的 URI 转换回原始的字符串形式。
// 编码
var uri = "https://example.com/search?q=你好世界&lang=中文";
var encodedUri = encodeURI(uri);
console.log(encodedUri); // 输出: https://example.com/search?q=%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C&lang=%E4%B8%AD%E6%96%87
// 解码
var decodedUri = decodeURI(encodedUri);
console.log(decodedUri); // 输出: https://example.com/search?q=你好世界&lang=中文
encodeURI
时,要注意它不会编码某些字符,如果需要编码这些字符,应使用 encodeURIComponent
。encodeURIComponent
来编码参数值。如果在解码时遇到问题,首先要检查编码是否正确。如果编码时使用了错误的函数或者编码后的字符串被错误地修改,解码时就可能失败或得到错误的结果。确保使用正确的编码和解码函数,并且在传输过程中保持字符串的完整性。
领取专属 10元无门槛券
手把手带您无忧上云