url编码是一种浏览器用来打包表单输入的格式。
定义
url编码是一种浏览器用来打包表单输入的格式。浏览器从表单中获取所有的name和其中的值 ,将它们以name/value参数编码(移去那些不能传送的字符,将数据排行等等)作为URL的一部分或者分离地发给服务器。不管哪种情况,在服务器端的表单输入格式样子像这样:theName=Ichabod+Crane&gender=male&status=missing& ;headless=yes
编码规则
URL编码遵循下列规则: 每对name/value由&;符分开;每对来自表单的name/value由=符分开。如果用户没有输入值给这个name,那么这个name还是出现,只是无值。任何特殊的字符(就是那些不是简单的七位ASCII,如汉字)将以百分符%用十六进制编码,当然也包括像 =,&;,和 % 这些特殊的字符。其实url编码就是一个字符ascii码的十六进制。不过稍微有些变动,需要在前面加上“%”。比如“\”,它的ascii码是92,92的十六进制是5c,所以“\”的url编码就是%5c。那么汉字的url编码呢?很简单,看例子:“胡”的ascii码是-17670,十六进制是BAFA,url编码是“%BA%FA”。
URL编码表
backspace %08 | I %49 | v %76 | ó %D3 |
tab %09 | J %4A | w %77 | Ô %D4 |
linefeed %0A | K %4B | x %78 | Õ %D5 |
creturn %0D | L %4C | y %79 | Ö %D6 |
space %20 | M %4D | z %7A | Ø %D8 |
! %21 | N %4E | { %7B | ù %D9 |
” %22 | O %4F | | %7C | ú %DA |
# %23 | P %50 | } %7D | Û %DB |
$ %24 | Q %51 | ~ %7E | ü %DC |
% %25 | R %52 | ¢ %A2 | Y %DD |
& %26 | S %53 | £ %A3 | T %DE |
‘ %27 | T %54 | ¥ %A5 | ß %DF |
( %28 | U %55 | | %A6 | à %E0 |
) %29 | V %56 | § %A7 | á %E1 |
* %2A | W %57 | « %AB | a %E2 |
+ %2B | X %58 | ¬ %AC | ã %E3 |
, %2C | Y %59 | ˉ %AD | ä %E4 |
- %2D | Z %5A | o %B0 | å %E5 |
. %2E | [ %5B | ± %B1 | æ %E6 |
/ %2F | \ %5C | a %B2 | ç %E7 |
0 %30 | ] %5D | , %B4 | è %E8 |
1 %31 | ^ %5E | μ %B5 | é %E9 |
2 %32 | _ %5F | » %BB | ê %EA |
3 %33 | ` %60 | ¼ %BC | ë %EB |
4 %34 | a %61 | ½ %BD | ì %EC |
5 %35 | b %62 | ¿ %BF | í %ED |
6 %36 | c %63 | à %C0 | î %EE |
7 %37 | d %64 | á %C1 | ï %EF |
8 %38 | e %65 | Â %C2 | e %F0 |
9 %39 | f %66 | Ã %C3 | ñ %F1 |
: %3A | g %67 | Ä %C4 | ò %F2 |
; %3B | h %68 | Å %C5 | ó %F3 |
< %3C | i %69 | Æ %C6 | ô %F4 |
= %3D | j %6A | Ç %C7 | õ %F5 |
> %3E | k %6B | è %C8 | ö %F6 |
%3F | l %6C | é %C9 | ÷ %F7 |
@ %40 | m %6D | ê %CA | ø %F8 |
A %41 | n %6E | Ë %CB | ù %F9 |
B %42 | o %6F | ì %CC | ú %FA |
C %43 | p %70 | í %CD | û %FB |
D %44 | q %71 | Î %CE | ü %FC |
E %45 | r %72 | Ï %CF | y %FD |
F %46 | s %73 | D %D0 | t %FE |
G %47 | t %74 | Ñ %D1 | ÿ %FF |
H %48 | u %75 | ò %D2 | |