| Module | URI::Escape |
| In: |
uri/common.rb
|
Included Modules
Public Instance methods
Synopsis
URI.escape(str [, unsafe])
Args
| str: | String to replaces in. |
| unsafe: | Regexp that matches all symbols that must be replaced with codes. By default uses REGEXP::UNSAFE. |
Description
Escapes the string, replacing all unsafe characters with codes.
Usage
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 280
280: def escape(str, unsafe = UNSAFE)
281: unless unsafe.kind_of?(Regexp)
282: # perhaps unsafe is String object
283: unsafe = Regexp.new(Regexp.quote(unsafe), false, 'N')
284: end
285: str.gsub(unsafe) do |us|
286: tmp = ''
287: us.each_byte do |uc|
288: tmp << sprintf('%%%02X', uc)
289: end
290: tmp
291: end
292: end
Synopsis
URI.unescape(str)
Args
| str: | Unescapes the string. |
Usage
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 315
315: def unescape(str)
316: str.gsub(ESCAPED) do
317: $&[1,2].hex.chr
318: end
319: end