返回
javascript encodeURI和encodeURIComponent的用法和区别
2024-12-14
71 0在 JavaScript 中,encodeURI 和 encodeURIComponent 都用于对 URI(统一资源标识符)进行编码,但它们的作用范围和用途有所不同。
encodeURI 用于对整个 URI 进行编码。
保留 URI 中的特殊字符(如 :, /, ?, &, # 等),因为这些字符在 URI 中有特定的含义。encodeURI 适合编码完整的 URI。
encodeURI 语法示例:
encodeURI(URI)
const uri = "https://example.com/path?name=John Doe&age=25";
const encoded = encodeURI(uri);
console.log(encoded);
// 输出: https://example.com/path?name=John%20Doe&age=25
空格被编码为 %20。
特殊字符如 /, ?, &, = 等不会被编码。
encodeURIComponent 用于对 URI 的组件(如查询参数的值)进行编码。
会编码所有非字母数字的字符,包括 :, /, ?, &, # 等特殊字符。
适合编码 URI 的单个参数值或片段。
encodeURIComponent 语法示例:
encodeURIComponent(URIComponent)
const uriComponent = "name=John Doe&age=25";
const encoded = encodeURIComponent(uriComponent);
console.log(encoded);
// 输出: name%3DJohn%20Doe%26age%3D25
空格被编码为 %20。
特殊字符如 =, & 等也被编码为 %3D, %26。
encodeURI和encodeURIComponent的区别总结
特性 | encodeURI | encodeURIComponent |
用途 | 对整个 URI 编码 | 对 URI 的某个组件或参数值编码 |
保留字符 | 保留 :, /, ?, &, = 等特殊字符 | 编码所有特殊字符,包括 :, /, ?, &, = |
适用场景 | 编码完整的 URI | 编码 URI 参数值或片段 |
最佳实践
- 编码完整 URI:使用 encodeURI。
- 编码 URI 的某个组件或参数值:使用 encodeURIComponent。
您可能感兴趣:
阿里云 云服务器 99元1年 2核2G 3M固定带宽 续费与新购同价
领取 通义灵码 免费使用资格 兼容 Visual Studio Code、Visual Studio、JetBrains IDEs 等主流编程工具, 为你提供高效、流畅、舒心的智能编码体验!
网友点评
提交