【问题标题】:javascript escape vs urlencode of non-ascii strings [duplicate]非ascii字符串的javascript转义与urlencode [重复]
【发布时间】:2013-06-16 17:50:42
【问题描述】:
  • 上下文:HTML 网页 (jade/node.js/javascript)
  • 图片 url 包含带有空格/非 ascii 字符的字符串
  • 我需要使用 escape 或 urlencode 对这些字符串进行编码。
  • 到目前为止,我正在使用转义来专门对空格进行编码。

但我无法证明/理解我应该使用转义来编码字符串还是应该使用 encodeurlcomponent。我尝试阅读一些在线博客,但还没有理解。

在什么情况下应该使用哪个指针。

【问题讨论】:

    标签: javascript


    【解决方案1】:
    • escape() 不会编码:@*/+

    • encodeURI() 不会编码:~!@#$&*()=:/,;?+'

    • encodeURIComponent() 不会编码:~!*()'

    有关更多信息,请查看以下问题:

    Encode URL in JavaScript?

    When are you supposed to use escape instead of encodeURI / encodeURIComponent?

    【讨论】:

    • +1,虽然值得注意的是 escape 不是 ES5 的规范部分,而各种 encode/decodeURI 函数是。
    • @RobG 这是第二个链接;)的答案中所说的第一件事@
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-12
    • 2015-12-01
    • 2013-05-27
    • 2011-01-02
    • 2012-11-27
    相关资源
    最近更新 更多