在Ruby中: URI.escape == URI.encode URI.unescape ==URI.decode
URI.escape (str):
采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。unescape方法与此相反。
不会被此方法编码的字符有: /[-_.!~*'()a-zA-Z\d;\/?:;@&=+$,\[\]]/n
url =" http://www.google.cn/search?q=砂锅粥培训&hl=zh-CN&start=0&sa=N"
>> URI.escape( url )
=>"http://www.google.cn/search?q=%E7%A0%82%E9%94%85%E7%B2%A5%E5%9F%B9%E8%AE%AD&hl=zh-CN&start=0&sa=N"
>> URI.decode( url )
=> "http://www.google.cn/search?q=砂锅粥培训&hl=zh-CN&start=0&sa=N"