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 に答える