我试图找出Ruby 中的 aURI.escape
和之间的区别。URI.encode
也没有做我希望他们做的事情,即完全编码 URL。
例如我想http://my.web.com
成为http%3A%2F%2Fmy%2Eweb%2Ecom
我试图找出Ruby 中的 aURI.escape
和之间的区别。URI.encode
也没有做我希望他们做的事情,即完全编码 URL。
例如我想http://my.web.com
成为http%3A%2F%2Fmy%2Eweb%2Ecom
没有区别。在 Ruby 1.9.3encode
中只是escape
.
[编辑]请注意,这些方法允许对字符的“不安全”描述符进行编码:
URI.encode('http://my.web.com', /\W/) # => "http%3A%2F%2Fmy%2Eweb%2Ecom"
谢谢@muistooshort!=)
CGI.escape
几乎可以满足您的要求:
1.9.3p0 :005 > require 'cgi'
=> true
1.9.3p0 :006 > CGI.escape 'http://my.web.com'
=> "http%3A%2F%2Fmy.web.com"
不过,通常没有必要逃避这些点。