MonthJanuary 2011

URL Encoding

摘要:在Network Woring Group的URL的RFC(From Wiki:一系列以编号排定的文件。文件收集了有关互联网相关信息,以及UNIX和互联网社区的软件文件。基本的互联网通信协议都有在RFC文件内详细说明。)第1738号Request For Comments里规定了URLs只能使用US-ASCII字符集。本文就URL编码问题,摘录了编码的对象和规则,供扫盲使用。

RFC 1738:URL的说明

RFC 1738对URL使用的字符集说明:”…Only alphanumerics [0-9a-zA-Z], the special characters “$-_.+!*'(),” [not including the quotes – ed], and reserved characters used for their reserved purposes may be used unencoded within a URL.”

而URL所指名的资源,如HTML允许的字符集是ISO-8859-1(ISO-Latin),甚至HTML4包含整个Unicode字符集。

所以所有出现在HTML中指向特定资源,比如(AAPPLETAREABASEBGSOUNDBODYEMBED,FORMFRAMEIFRAMEILAYERIMGISINDEXINPUTLAYERLINKOBJECTSCRIPTSOUNDTABLETDTH, and TR elements.) 的URL,都该被编码。

那些字符应该被编码,为什么要被编码

ASCII Control characters
Why: These characters are not printable.
Characters: Includes the ISO-8859-1 (ISO-Latin) character ranges 00-1F hex (0-31 decimal) and 7F (127 decimal.)
Non-ASCII characters
Why: These are by definition not legal in URLs since they are not in the ASCII set.
Characters: Includes the entire “top half” of the ISO-Latin set 80-FF hex (128-255 decimal.)
“Reserved characters”
Why: URLs use some characters for special use in defining their syntax. When these characters are not used in their special role inside a URL, they need to be encoded.
Characters:
Character Code
Points
(Hex)
Code
Points
(Dec)
 Dollar (“$”)
Ampersand (“&”)
Plus (“+”)
Comma (“,”)
Forward slash/Virgule (“/”)
Colon (“:”)
Semi-colon (“;”)
Equals (“=”)
Question mark (“?”)
‘At’ symbol (“@”)
24
26
2B
2C
2F
3A
3B
3D
3F
40
36
38
43
44
47
58
59
61
63
64
“Unsafe characters”
Why: Some characters present the possibility of being misunderstood within URLs for various reasons. These characters should also always be encoded.
Characters:
Character Code
Points
(Hex)
Code
Points
(Dec)
Why encode?
Space 20 32 Significant sequences of spaces may be lost in some uses (especially multiple spaces)
Quotation marks
‘Less Than’ symbol (“<“)
‘Greater Than’ symbol (“>”)
22
3C
3E
34
60
62
These characters are often used to delimit URLs in plain text.
‘Pound’ character (“#”) 23 35 This is used in URLs to indicate where a fragment identifier (bookmarks/anchors in HTML) begins.
Percent character (“%”) 25 37 This is used to URL encode/escape other characters, so it should itself also be encoded.
Misc. characters:
Left Curly Brace (“{“)
Right Curly Brace (“}”)
Vertical Bar/Pipe (“|”)
Backslash (“”)
Caret (“^”)
Tilde (“~”)
Left Square Bracket (“[“)
Right Square Bracket (“]”)
Grave Accent (“`”)
7B
7D
7C
5C
5E
7E
5B
5D
60
123
125
124
92
94
126
91
93
96
Some systems can possibly modify these characters.

那么URL怎样被编码

编码后的URL包含“%”符号,后面跟两位16禁止大小写敏感的ISO-Latin字符

Example
  • Space = decimal code point 32 in the ISO-Latin set.
  • 32 decimal = 20 in hexadecimal
  • The URL encoded representation will be “%20”

					
							        
	

2010年总结-读书篇

今年最总要的收获就是重新捧起了书本,为自己读书,不为考试,不为功利,只为自己,谢谢伍云龙让我想起了这个习惯,就是今年比赛的原因还是懒惰了,2011的目标里少不了读书这个大项的~~

总结给力的2010,展望怎么也应该更给力的2011!—— ImagineCup篇

从来没写过什么年终总结,不知道是太懒还是没什么好总结的,但今年确实该总结下了,活在一个真正的人生岔路口,人也一把年纪了,不总结点什么,真怕自己会忘了这些充满激情和无畏的时间,只属于奋斗的时间!

ImagineCup很给力篇

说句实话,今年总结起来确实是个比赛年,一年大部分时间和比赛有关,所以怎么说也得从这开始。来个最经典的1H5W总结:

          What:ImagineCup,可能这辈子我都会记得这个单词,它让我认识了更多extremely outstanding的人,吕稳,俞婷,王昊,黄季东,Leaf,周涵,朱毅,鹏鹏,王天欣,陈文还包括MS的涛哥,联创的球球,基地的彭浩,江晨,黄威……见识了从来没见识过的场面,还上了报,出了国,总之各种出人意料的事情就在这里发生了~~

         When:2010,大三,面临择业,考研,保研的分叉点,当周围所有的人都徘徊纠结在其中的时候,我却走在一条与众不同的比赛路上,但那时候觉得想过所有的可能,除了先去工作以外什么都不用考虑,但比赛出乎了所有的可能性的分析,让我看到了更多,给了我更多的选择空间,更让我看到了不足,找到了激情,坚定了信念,给了自己一个与众不同的理由,就在2010~~

        Who:这可算是比赛最大最大的收获了,比赛时候帮我扛了股票的伍云龙,史上最靠谱的吕稳大牛,各种无语加给力的俞婷,让我永远无奈的周涵同学,还有Leaf的活力,东东的强搞,再加上昊昊这样的技术大牛,真是各种给力,我相信比赛才是合作的开始吧,真正的给力还没来呢,一起奋斗吧~~

       Where:新疆—武汉—杭州—上海—武汉—北京—德国法兰克福—波兰华沙—北京—新疆—武汉—北京—鄂尔多斯—武汉,这可以算是今年的路线图了,横跨亚欧大陆呀,总计乘飞机8次,超过30个小时,其中飞新疆2次,飞武汉1次,飞北京2次,飞华沙1次,途经德国2次;乘火车超过10次,超过60个小时;住酒店的总时间超过1个月;在寝室睡觉的天数0天…….这就是做比赛最神奇的地方,各种在路上~~

      How:比赛的过程被各种荣誉封装了起来,似乎没人关心它是怎么实现的,好像每个人都是大牛,呵呵,其实当然不是,一路比赛下来,我从周围看到的其实都是我的不足,没有吕稳的踏实,没有俞婷的犀利,没有周涵的执着,没有王昊的技术,没有国外友人的激情,我有的真算是运气了,呵呵,但我相信那些个熬夜的日子,那些个奔波的路途,那几个月穿着衣物睡觉的小黑屋,都会提醒自己做成点事情多么不容易~~

      Why:其实码了很多总结,这是最没法总结但最应该总结的了,在这个做事情不需要理由和思考的年纪做了件对的事情挺不容易的~~

本来应该有篇总结给涛哥,Leaf的,但官方的文章我还是不擅长写,给自己写一篇来记录这一段不平凡的经历吧,给后面更漫长更有挑战的路一个更高的起点!