• URL中的保留和不安全字符


    书写URL时要使用US-ASCII字符集可以显示的字符。

    http://www.google.com

    如果需要在URL中使用不属于此字符集的字符,就要使用特殊的符号对该字符进行编码。

    如:最常使用的空格用%20来表示,例如:http://www.google.com/new%20123.html

    除了那些无法显示的字符外,还需要在URL中对那些保留(reserved)字符和不安全(unsafe)字符进行编码。

    所谓保留字符就是那些在URL中具有特定意义的字符。不安全字符是指那些在URL中没有特殊含义,但在URL所在的上下文中可能具有特殊意义的字符。例如双引号(“”)

    部分保留字符和不安全字符及其URL编码
    字符 描述 用法 编码
    ; 分号 保留 %3B
    / 斜线 保留 %2F
    ? 问号 保留 %3F
    : 冒号 保留 %3A
    @ “at”符号 保留 %4O
    = 等号 保留 %3D
    & “和”符号 保留 %26
    < 小于号 不安全 %3C
    > 大于号 不安全 %3E
    " 双引号 不安全 %22
    # 井号 不安全 %23
    % 百分号 不安全 %25
    { 左大括号 不安全 %7B
    } 右大括号 不安全 %7D
    | 竖线 不安全 %7C
    反斜线 不安全 %5C
    ^ 加字号 不安全 %5E
    ~ 波浪 不安全 %7E
    [ 左中括号 不安全 %5B
    ] 右中括号 不安全 %5D
    ` 反单引号 不安全 %60
      空格 不安全 %20

      

    mystr = mystr.replace("'","%2B") //单引号            

    mystr = mystr.replace("+","%2B")
    mystr = mystr.replace("*","%2A")
    mystr = mystr.replace("!","%21")

    mystr = mystr.replace("$","%24")

    下面是w3schools网站上给出的编码参考

    The default character-set in HTML5 is UTF-8.

    CharacterFrom Windows-1252From UTF-8
    space %20 %20
    ! %21 %21
    " %22 %22
    # %23 %23
    $ %24 %24
    % %25 %25
    & %26 %26
    ' %27 %27
    ( %28 %28
    ) %29 %29
    * %2A %2A
    + %2B %2B
    , %2C %2C
    - %2D %2D
    . %2E %2E
    / %2F %2F
    0 %30 %30
    1 %31 %31
    2 %32 %32
    3 %33 %33
    4 %34 %34
    5 %35 %35
    6 %36 %36
    7 %37 %37
    8 %38 %38
    9 %39 %39
    : %3A %3A
    ; %3B %3B
    < %3C %3C
    = %3D %3D
    > %3E %3E
    ? %3F %3F
    @ %40 %40
    A %41 %41
    B %42 %42
    C %43 %43
    D %44 %44
    E %45 %45
    F %46 %46
    G %47 %47
    H %48 %48
    I %49 %49
    J %4A %4A
    K %4B %4B
    L %4C %4C
    M %4D %4D
    N %4E %4E
    O %4F %4F
    P %50 %50
    Q %51 %51
    R %52 %52
    S %53 %53
    T %54 %54
    U %55 %55
    V %56 %56
    W %57 %57
    X %58 %58
    Y %59 %59
    Z %5A %5A
    [ %5B %5B
    %5C %5C
    ] %5D %5D
    ^ %5E %5E
    _ %5F %5F
    ` %60 %60
    a %61 %61
    b %62 %62
    c %63 %63
    d %64 %64
    e %65 %65
    f %66 %66
    g %67 %67
    h %68 %68
    i %69 %69
    j %6A %6A
    k %6B %6B
    l %6C %6C
    m %6D %6D
    n %6E %6E
    o %6F %6F
    p %70 %70
    q %71 %71
    r %72 %72
    s %73 %73
    t %74 %74
    u %75 %75
    v %76 %76
    w %77 %77
    x %78 %78
    y %79 %79
    z %7A %7A
    { %7B %7B
    | %7C %7C
    } %7D %7D
    ~ %7E %7E
      %7F %7F
    ` %80 %E2%82%AC
     %81 %81
    %82 %E2%80%9A
    ƒ %83 %C6%92
    %84 %E2%80%9E
    %85 %E2%80%A6
    %86 %E2%80%A0
    %87 %E2%80%A1
    ˆ %88 %CB%86
    %89 %E2%80%B0
    Š %8A %C5%A0
    %8B %E2%80%B9
    Π%8C %C5%92
     %8D %C5%8D
    Ž %8E %C5%BD
     %8F %8F
     %90 %C2%90
    %91 %E2%80%98
    %92 %E2%80%99
    %93 %E2%80%9C
    %94 %E2%80%9D
    %95 %E2%80%A2
    %96 %E2%80%93
    %97 %E2%80%94
    ˜ %98 %CB%9C
    %99 %E2%84
    š %9A %C5%A1
    %9B %E2%80
    œ %9C %C5%93
     %9D %9D
    ž %9E %C5%BE
    Ÿ %9F %C5%B8
      %A0 %C2%A0
    ¡ %A1 %C2%A1
    ¢ %A2 %C2%A2
    £ %A3 %C2%A3
    ¤ %A4 %C2%A4
    ¥ %A5 %C2%A5
    ¦ %A6 %C2%A6
    § %A7 %C2%A7
    ¨ %A8 %C2%A8
    © %A9 %C2%A9
    ª %AA %C2%AA
    « %AB %C2%AB
    ¬ %AC %C2%AC
      %AD %C2%AD
    ® %AE %C2%AE
    ¯ %AF %C2%AF
    ° %B0 %C2%B0
    ± %B1 %C2%B1
    ² %B2 %C2%B2
    ³ %B3 %C2%B3
    ´ %B4 %C2%B4
    µ %B5 %C2%B5
    %B6 %C2%B6
    · %B7 %C2%B7
    ¸ %B8 %C2%B8
    ¹ %B9 %C2%B9
    º %BA %C2%BA
    » %BB %C2%BB
    ¼ %BC %C2%BC
    ½ %BD %C2%BD
    ¾ %BE %C2%BE
    ¿ %BF %C2%BF
    À %C0 %C3%80
    Á %C1 %C3%81
    Â %C2 %C3%82
    Ã %C3 %C3%83
    Ä %C4 %C3%84
    Å %C5 %C3%85
    Æ %C6 %C3%86
    Ç %C7 %C3%87
    È %C8 %C3%88
    É %C9 %C3%89
    Ê %CA %C3%8A
    Ë %CB %C3%8B
    Ì %CC %C3%8C
    Í %CD %C3%8D
    Î %CE %C3%8E
    Ï %CF %C3%8F
    Ð %D0 %C3%90
    Ñ %D1 %C3%91
    Ò %D2 %C3%92
    Ó %D3 %C3%93
    Ô %D4 %C3%94
    Õ %D5 %C3%95
    Ö %D6 %C3%96
    × %D7 %C3%97
    Ø %D8 %C3%98
    Ù %D9 %C3%99
    Ú %DA %C3%9A
    Û %DB %C3%9B
    Ü %DC %C3%9C
    Ý %DD %C3%9D
    Þ %DE %C3%9E
    ß %DF %C3%9F
    à %E0 %C3%A0
    á %E1 %C3%A1
    â %E2 %C3%A2
    ã %E3 %C3%A3
    ä %E4 %C3%A4
    å %E5 %C3%A5
    æ %E6 %C3%A6
    ç %E7 %C3%A7
    è %E8 %C3%A8
    é %E9 %C3%A9
    ê %EA %C3%AA
    ë %EB %C3%AB
    ì %EC %C3%AC
    í %ED %C3%AD
    î %EE %C3%AE
    ï %EF %C3%AF
    ð %F0 %C3%B0
    ñ %F1 %C3%B1
    ò %F2 %C3%B2
    ó %F3 %C3%B3
    ô %F4 %C3%B4
    õ %F5 %C3%B5
    ö %F6 %C3%B6
    ÷ %F7 %C3%B7
    ø %F8 %C3%B8
    ù %F9 %C3%B9
    ú %FA %C3%BA
    û %FB %C3%BB
    ü %FC %C3%BC
    ý %FD %C3%BD
    þ %FE %C3%BE
    ÿ %FF %C3%BF

    URL Encoding Reference

    The ASCII control characters %00-%1F were originally designed to control hardware devices.

    Control characters have nothing to do inside a URL.

    ASCII CharacterDescriptionURL-encoding
    NUL null character %00
    SOH start of header %01
    STX start of text %02
    ETX end of text %03
    EOT end of transmission %04
    ENQ enquiry %05
    ACK acknowledge %06
    BEL bell (ring) %07
    BS backspace %08
    HT horizontal tab %09
    LF line feed %0A
    VT vertical tab %0B
    FF form feed %0C
    CR carriage return %0D
    SO shift out %0E
    SI shift in %0F
    DLE data link escape %10
    DC1 device control 1 %11
    DC2 device control 2 %12
    DC3 device control 3 %13
    DC4 device control 4 %14
    NAK negative acknowledge %15
    SYN synchronize %16
    ETB end transmission block %17
    CAN cancel %18
    EM end of medium %19
    SUB substitute %1A
    ESC escape %1B
    FS file separator %1C
    GS group separator %1D
    RS record separator %1E
    US unit separator %1F

    通常情况下,如果对某个字符能否在URL中使用有疑问,那么你应该始终使用该字符的编码。除字母、数字和字符$-_.+!*'()外的其它所有字符都应该使用编码。

  • 相关阅读:
    apt-get connects to web
    Particle Filter(CC) 放狗
    Get a specific pixel coordinates where your mouse on (cc)
    event
    两张图片的平移实验 (SLAM translate epipolar geometry)
    vs2010 LINK : fatal error LNK1123: 转换到 COFF 期间失败:(cc)
    fx and fy in Calibration
    How do I get add-apt-repository to work through a proxy?
    ROS and PCL install
    Longest palindrome subsequence
  • 原文地址:https://www.cnblogs.com/zuge/p/6141359.html
Copyright © 2020-2023  润新知