Method: CGI::Util#unescape
- Defined in:
- lib/cgi/util.rb
#unescape(string, encoding = @@accept_charset) ⇒ Object
URL-decode an application/x-www-form-urlencoded string with encoding(optional).
string = CGI.unescape("%27Stop%21%27+said+Fred")
# => "'Stop!' said Fred"
27 28 29 30 31 32 33 34 35 |
# File 'lib/cgi/util.rb', line 27 def unescape(string, encoding = @@accept_charset) str = string.tr('+', ' ') str = str.b str.gsub!(/((?:%[0-9a-fA-F]{2})+)/) do |m| [m.delete('%')].pack('H*') end str.force_encoding(encoding) str.valid_encoding? ? str : str.force_encoding(string.encoding) end |