编码 URI(空格等),不编码非 ASCII 字符

发布于 2025-01-08 06:49:27 字数 405 浏览 0 评论 0原文

当我使用 escape/encodeURI/encodeURIComponent 来编码 URI 时,
它对特殊字符(如“? [ ] &”)和所有非 ASCII 字符进行编码。

我更喜欢链接看起来像:

http:/site.com/?tm=ДОБРОЕ**%20**УТРО  

相反:

http:/site.com/?tm=%u0414%u041E%u0411%u0420%u041E%u0415**%20**%u0423%u0422%u0420%u041E  

我的问题:

  1. 是否需要对非 ASCII 进行编码?
  2. 有没有只编码特殊字符的函数? (不含非 ASCII)

When I use escape/encodeURI/encodeURIComponent to encode URI,
it's encoding special characters (like "? [ ] &" ), and all non-ASCII characters.

I prefer the link to look like:

http:/site.com/?tm=ДОБРОЕ**%20**УТРО  

instead:

http:/site.com/?tm=%u0414%u041E%u0411%u0420%u041E%u0415**%20**%u0423%u0422%u0420%u041E  

My questions:

  1. Is there any need to encode non-ASCII ?
  2. Is there any function that encode only special characters ? (without non-ASCII)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

另类 2025-01-15 06:49:27
  1. 是的。
  2. 否。

http://www.w3.org/Addressing/URL/5_BNF.html< /a> 人们可以读到:

“国家”和“标点符号”字符不会出现在任何作品中,因此可能不会出现在 URL 中。

  1. Yes.
  2. No.

In http://www.w3.org/Addressing/URL/5_BNF.html one can read:

The "national" and "punctuation" characters do not appear in any productions and therefore may not appear in URLs.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文