Contents:
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. When this argument is a String, it represents a character set. |
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" p URI.escape("@?@!", "!?") # => "@%3F@%21"
Source Code
# 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
<code/>and<pre/>for code samples.