URL 编码/解码
概述
以下是常见符号的 URL 编码表格,包括符号、URL编码和描述:
| 符号 | URL编码 | 描述 |
|---|---|---|
| 空格 | %20 | 空格 |
| " | %22 | 双引号 |
| # | %23 | 井号 |
| $ | %24 | 美元符号 |
| % | %25 | 百分号 |
| & | %26 | 和号 |
| ' | %27 | 单引号 |
| ( | %28 | 左圆括号 |
| ) | %29 | 右圆括号 |
| * | %2A | 星号 |
| + | %2B | 加号 |
| , | %2C | 逗号 |
| / | %2F | 斜杠 |
| : | %3A | 冒号 |
| ; | %3B | 分号 |
| < | %3C | 小于号 |
| = | %3D | 等号 |
| > | %3E | 大于号 |
| ? | %3F | 问号 |
| @ | %40 | 亚瑟斯 |
| [ | %5B | 左方括号 |
| \ | %5C | 反斜杠 |
| ] | %5D | 右方括号 |
| ^ | %5E | 尖角号 |
| _ | %5F | 下划线 |
| ` | %60 | 反引号 |
| { | %7B | 左花括号 |
| | | %7C | 垂直线 |
| } | %7D | 右花括号 |
| ~ | %7E | 波浪号 |
encodeURIComponent() 函数 与 encodeURI() 函数的区别
它们都是编码URL,唯一区别就是编码的字符范围,其中
encodeURI方法不会对下列字符编码 ASCII字母、数字、~!@#$&*()=:/,;?+'
encodeURIComponent方法不会对下列字符编码 ASCII字母、数字、~!*()'
也就是encodeURIComponent编码的范围更广,会将http://XXX中的//也编码,会导致URL不可用。(其实java中的URLEncoder.encode(str,char)也类似于这个方法,会导致URL不可用)