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 编码原理及对照表 (米扑博客)