URL 编码原理及对照表
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编码就是/。那么汉字的url编码呢?很简单,看例子:“胡”的ascii码是-17670,十六进制是BAFA,url编码是“%BA%FA”。
URL编码平时我们是用不到的,因为IE会自动将你输入到地址栏的非数字字母转换为url编码。所以对于浏览器来说http://blog.csdn.net/g%75%6fq%75a%6ey%6f%75与http://blog.csdn.net/guoquanyou是等效的.
URL 编码示例
在用get方法或者post访问服务器时,请求的参数多个名称/值对,各个名称/对之间是用与号(&)分隔。如get请求:
http://localhost:8080/Chess/register?Name=ZhangSan&address=HuNan&Age=23
这些名称/值对必须符合url编码,也就是说一些特殊的字符,如空格,问号,与号以及其他一些非字母字符(特别是中文-unicode编码)都必须进行编码,从而不至于混淆。
下面是我找到的有关url 编码字符对应表。当使用特殊字符时只需用右边的编码替换左边的符号就可以了,比如名字中有空格的话,如Name=Zhang San,而空格的url编码为%20则请求格式为:
http://localhost:8080/Chess/register?Name=Zhang%20San&address=HuNan&Age=23
URL 防止sql注入
URL编码平时是用不到的,因为IE会自动将输入到地址栏的非数字字母转换为url编码。曾有人提出数据库名字里带上“#”以防止被下载,因为IE遇到#就会忽略后面的字母。破解方法很简单——用url编码%23替换掉#。现在SQL注射非常流行,所以就有人写了一些防注射的脚本。
URL 编码对照表
URL 编码形式表示的 ASCII 字符(十六进制格式)。
十六进制格式用于在浏览器和插件中显示非标准的字母和字符。
URL 编码 - 从 %00 到 %8f
ASCII Value | URL-encode | ASCII Value | URL-encode | ASCII Value | URL-encode |
---|---|---|---|---|---|
æ | %00 | 0 | %30 | ` | %60 |
%01 | 1 | %31 | a | %61 | |
%02 | 2 | %32 | b | %62 | |
%03 | 3 | %33 | c | %63 | |
%04 | 4 | %34 | d | %64 | |
%05 | 5 | %35 | e | %65 | |
%06 | 6 | %36 | f | %66 | |
%07 | 7 | %37 | g | %67 | |
backspace | %08 | 8 | %38 | h | %68 |
tab | %09 | 9 | %39 | i | %69 |
linefeed | %0a | : | %3a | j | %6a |
%0b | ; | %3b | k | %6b | |
%0c | < | %3c | l | %6c | |
c return | %0d | = | %3d | m | %6d |
%0e | > | %3e | n | %6e | |
%0f | ? | %3f | o | %6f | |
%10 | @ | %40 | p | %70 | |
%11 | A | %41 | q | %71 | |
%12 | B | %42 | r | %72 | |
%13 | C | %43 | s | %73 | |
%14 | D | %44 | t | %74 | |
%15 | E | %45 | u | %75 | |
%16 | F | %46 | v | %76 | |
%17 | G | %47 | w | %77 | |
%18 | H | %48 | x | %78 | |
%19 | I | %49 | y | %79 | |
%1a | J | %4a | z | %7a | |
%1b | K | %4b | { | %7b | |
%1c | L | %4c | | | %7c | |
%1d | M | %4d | } | %7d | |
%1e | N | %4e | ~ | %7e | |
%1f | O | %4f | %7f | ||
space | %20 | P | %50 | € | %80 |
! | %21 | Q | %51 | %81 | |
" | %22 | R | %52 | ‚ | %82 |
# | %23 | S | %53 | ƒ | %83 |
$ | %24 | T | %54 | „ | %84 |
% | %25 | U | %55 | … | %85 |
& | %26 | V | %56 | † | %86 |
' | %27 | W | %57 | ‡ | %87 |
( | %28 | X | %58 | ˆ | %88 |
) | %29 | Y | %59 | ‰ | %89 |
* | %2a | Z | %5a | Š | %8a |
+ | %2b | [ | %5b | ‹ | %8b |
, | %2c | \ | %5c | Œ | %8c |
- | %2d | ] | %5d | %8d | |
. | %2e | ^ | %5e | Ž | %8e |
/ | %2f | _ | %5f | %8f |
URL 编码 - 从 %90 到 %ff
ASCII Value | URL-encode | ASCII Value | URL-encode | ASCII Value | URL-encode |
---|---|---|---|---|---|
%90 | À | %c0 | ð | %f0 | |
‘ | %91 | Á | %c1 | ñ | %f1 |
’ | %92 | Â | %c2 | ò | %f2 |
“ | %93 | Ã | %c3 | ó | %f3 |
” | %94 | Ä | %c4 | ô | %f4 |
• | %95 | Å | %c5 | õ | %f5 |
– | %96 | Æ | %c6 | ö | %f6 |
— | %97 | Ç | %c7 | ÷ | %f7 |
˜ | %98 | È | %c8 | ø | %f8 |
™ | %99 | É | %c9 | ù | %f9 |
š | %9a | Ê | %ca | ú | %fa |
› | %9b | Ë | %cb | û | %fb |
œ | %9c | Ì | %cc | ü | %fc |
%9d | Í | %cd | ý | %fd | |
ž | %9e | Î | %ce | þ | %fe |
Ÿ | %9f | Ï | %cf | ÿ | %ff |
%a0 | Ð | %d0 | |||
¡ | %a1 | Ñ | %d1 | ||
¢ | %a2 | Ò | %d2 | ||
£ | %a3 | Ó | %d3 | ||
%a4 | Ô | %d4 | |||
¥ | %a5 | Õ | %d5 | ||
| | %a6 | Ö | %d6 | ||
§ | %a7 | %d7 | |||
¨ | %a8 | Ø | %d8 | ||
© | %a9 | Ù | %d9 | ||
ª | %aa | Ú | %da | ||
« | %ab | Û | %db | ||
¬ | %ac | Ü | %dc | ||
¯ | %ad | Ý | %dd | ||
® | %ae | Þ | %de | ||
¯ | %af | ß | %df | ||
° | %b0 | à | %e0 | ||
± | %b1 | á | %e1 | ||
² | %b2 | â | %e2 | ||
³ | %b3 | ã | %e3 | ||
´ | %b4 | ä | %e4 | ||
µ | %b5 | å | %e5 | ||
¶ | %b6 | æ | %e6 | ||
· | %b7 | ç | %e7 | ||
¸ | %b8 | è | %e8 | ||
¹ | %b9 | é | %e9 | ||
º | %ba | ê | %ea | ||
» | %bb | ë | %eb | ||
¼ | %bc | ì | %ec | ||
½ | %bd | í | %ed | ||
¾ | %be | î | %ee | ||
¿ | %bf | ï | %ef |
参考推荐:
HTML URL 编码 (W3School)
Ansi、Unicode、UTF8等编码字符串之间的转换和写入文本文件
版权所有: 本文系米扑博客原创、转载、摘录,或修订后发表,最后更新于 2017-12-22 01:23:26
侵权处理: 本个人博客,不盈利,若侵犯了您的作品权,请联系博主删除,莫恶意,索钱财,感谢!
转载注明: URL 编码原理及对照表 (米扑博客)