java.net.URLEncoder.encode(some_URL, "UTF-8")
/**
* Return a URL-encoded string version of the argument passed in.
*/
function urlEncode(arg)
{
try {
return java.net.URLEncoder.encode(arg,"UTF-8");
} catch (err) {
// Fall-through
}
// If UTF-8 failed, just use the default encoding.
return java.net.URLEncoder.encode(arg);
}
|
字符类型
|
编码要求/考虑事项
|
|---|---|
|
ASCII 控制字符
|
必须对区间 00-1F 和 7F 中的所有字符编码。
|
|
保留字符
|
下列特殊字符为保留字符:
• 美元符号 ($) 编码 %24
• 与号 (&) 编码 %26
• 加号 (+) 编码 %2B
• 逗号 (,) 编码 %2C
• 正斜杠标记 (/) 编码 %2F
• 冒号 (:) 编码 %3A
• 分号 (;) 编码 %3B
• 等号 (=) 编码 %3D
• 问号 (?) 编码 %3F
• @ 号 (@) 编码 %40
• 星号 ( * ) 编码 %2A
• 感叹号 ( ! ) 编码 %21
|
|
不安全字符
|
某些特殊字符在 URL 中有可能会误解,例如,它们可能不兼容或不可靠。PTC 建议将下列字符编码:
• 空格 ( ) 编码 %20 (特别是多个空格)
• 问号 (“”) 编码 %22
• 小于符号 (\<) 编码 %3C
• 大于符号 (\>) 编码 %3E
• 数字记号 (#) 编码 %23
• 百分比 (%) 编码 %25
• 左括号 ({) 编码 %7B
• 右括号 (}) 编码 %7D
• 垂直条形图/管 (|) 编码 %7C
• 反斜杠 (\) 编码 %5C
• 脱字符 (^) 编码 %5E
• 波形符 (~) 编码 %7E
• 左括号 ([) 编码 %5B
• 右括号 (]) 编码 %5D
• 重读音 (`) 编码 %60
|
|
支持的特殊字符
|
允许使用以下特殊字符,且无需编码:
• 连字符 ( - ) 编码 -
• 下划线 ( _ ) 编码 _
|
|
非 ASCII 字符
|
必须对所有非 ASCII 字符编码。这包括 ISO-Latin 集 80-FF 十六进制字符的整个上半部。
|
|
Unicode 字符
|
必须对所有 Unicode 字符编码。这包括 FF 上的全部内容。
|