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

前端 未结 15 1151
栀梦
栀梦 2020-11-21 07:39

When encoding a query string to be sent to a web server - when do you use escape() and when do you use encodeURI() or encodeURIComponent()

15条回答
  •  逝去的感伤
    2020-11-21 07:52

    Small comparison table Java vs. JavaScript vs. PHP.

    1. Java URLEncoder.encode (using UTF8 charset)
    2. JavaScript encodeURIComponent
    3. JavaScript escape
    4. PHP urlencode
    5. PHP rawurlencode
    
    char   JAVA JavaScript --PHP---
    [ ]     +    %20  %20  +    %20
    [!]     %21  !    %21  %21  %21
    [*]     *    *    *    %2A  %2A
    [']     %27  '    %27  %27  %27 
    [(]     %28  (    %28  %28  %28
    [)]     %29  )    %29  %29  %29
    [;]     %3B  %3B  %3B  %3B  %3B
    [:]     %3A  %3A  %3A  %3A  %3A
    [@]     %40  %40  @    %40  %40
    [&]     %26  %26  %26  %26  %26
    [=]     %3D  %3D  %3D  %3D  %3D
    [+]     %2B  %2B  +    %2B  %2B
    [$]     %24  %24  %24  %24  %24
    [,]     %2C  %2C  %2C  %2C  %2C
    [/]     %2F  %2F  /    %2F  %2F
    [?]     %3F  %3F  %3F  %3F  %3F
    [#]     %23  %23  %23  %23  %23
    [[]     %5B  %5B  %5B  %5B  %5B
    []]     %5D  %5D  %5D  %5D  %5D
    ----------------------------------------
    [~]     %7E  ~    %7E  %7E  ~
    [-]     -    -    -    -    -
    [_]     _    _    _    _    _
    [%]     %25  %25  %25  %25  %25
    [\]     %5C  %5C  %5C  %5C  %5C
    ----------------------------------------
    char  -JAVA-  --JavaScript--  -----PHP------
    [ä]   %C3%A4  %C3%A4  %E4     %C3%A4  %C3%A4
    [ф]   %D1%84  %D1%84  %u0444  %D1%84  %D1%84
    

提交回复
热议问题