14

我试图找出Ruby 中的 aURI.escape和之间的区别。URI.encode

也没有做我希望他们做的事情,即完全编码 URL。

例如我想http://my.web.com成为http%3A%2F%2Fmy%2Eweb%2Ecom

4

2 回答 2

14

没有区别。在 Ruby 1.9.3encode中只是escape.

[编辑]请注意,这些方法允许对字符的“不安全”描述符进行编码:

URI.encode('http://my.web.com', /\W/) # => "http%3A%2F%2Fmy%2Eweb%2Ecom"

谢谢@muistooshort!=)

于 2012-11-27T22:06:58.020 回答
3

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" 

不过,通常没有必要逃避这些点。

于 2012-11-27T22:07:30.363 回答