| Module | URI::Escape |
| In: |
uri/common.rb
|
URI.escape(str [, unsafe])
| str: | String to replaces in. |
| unsafe: | Regexp that matches all symbols that must be replaced with codes. By default uses REGEXP::UNSAFE. When this argument is a String, it represents a character set. |
Escapes the string, replacing all unsafe characters with codes.
require 'uri'
enc_uri = URI.escape("http://example.com/?a=\11\15")
p enc_uri
# => "http://example.com/?a=%09%0D"
p URI.unescape(enc_uri)
# => "http://example.com/?a=\t\r"
p URI.escape("@?@!", "!?")
# => "@%3F@%21"
# File uri/common.rb, line 284 def escape(str, unsafe = UNSAFE) unless unsafe.kind_of?(Regexp) # perhaps unsafe is String object unsafe = Regexp.new("[#{Regexp.quote(unsafe)}]", false, 'N') end str.gsub(unsafe) do |us| tmp = '' us.each_byte do |uc| tmp << sprintf('%%%02X', uc) end tmp end end
URI.unescape(str)
| str: | Unescapes the string. |
require 'uri'
enc_uri = URI.escape("http://example.com/?a=\11\15")
p enc_uri
# => "http://example.com/?a=%09%0D"
p URI.unescape(enc_uri)
# => "http://example.com/?a=\t\r"
# File uri/common.rb, line 319 def unescape(str) str.gsub(ESCAPED) do $&[1,2].hex.chr end end
ruby-doc.org is hosted and maintained by James Britt and Happy Camper Studios, a Ruby application development company in Phoenix, Arizona. The site was created in 2002 as part of the Ruby Documentation Project to promote the Ruby language and to help other Ruby hackers.
Documentation content on ruby-doc.org is provided by remarkable members of the Ruby community.
For more information on the Ruby programming language, visit ruby-lang.org.
Want to help improve Ruby's API docs? See Ruby Documentation Guidelines.