Support for the Ruby 2.4 series has ended. See here for reference.

In Files

  • uri/common.rb

URI::Escape

module for escaping unsafe characters with codes.

Public Instance Methods

decode(*arg) click to toggle source
Alias for: unescape
encode(*arg) click to toggle source
Alias for: escape
escape(*arg) click to toggle source

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 UNSAFE. When this argument is a String, it represents a character set.

Description

Escapes the string, replacing all unsafe characters with codes.

This method is obsolete and should not be used. Instead, use CGI.escape, URI.encode_www_form or URI.encode_www_form_component depending on your specific use case.

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"
 
               # File uri/common.rb, line 102
def escape(*arg)
  warn "#{caller(1)[0]}: warning: URI.escape is obsolete" if $VERBOSE
  DEFAULT_PARSER.escape(*arg)
end
            
Also aliased as: encode
unescape(*arg) click to toggle source

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 128
def unescape(*arg)
  warn "#{caller(1)[0]}: warning: URI.unescape is obsolete" if $VERBOSE
  DEFAULT_PARSER.unescape(*arg)
end
            
Also aliased as: decode