Method: URI.encode_www_form_component
- Defined in:
- lib/uri/common.rb
.encode_www_form_component(str, enc = nil) ⇒ Object
Returns a URL-encoded string derived from the given string str.
The returned string:
-
Preserves:
-
Characters '*', '.', '-', and '_'.
-
Character in ranges 'a'..'z', 'A'..'Z', and '0'..'9'.
Example:
URI.encode_www_form_component('*.-_azAZ09')
# => "*.-_azAZ09"
-
Converts:
-
Character ' ' to character '+'.
-
Any other character to "percent notation"; the percent notation for character c is '%%%X' % c.ord.
Example:
URI.encode_www_form_component('Here are some punctuation characters: ,;?:')
# => "Here+are+some+punctuation+characters%3A+%2C%3B%3F%3A"
Encoding:
- If
strhas encoding Encoding::ASCII_8BIT, argumentencis ignored. - Otherwise
stris converted first to Encoding::UTF_8 (with suitable character replacements), and then to encodingenc.
In either case, the returned string has forced encoding Encoding::US_ASCII.
Related: URI.encode_uri_component (encodes ' ' as '%20').
358 359 360 |
# File 'lib/uri/common.rb', line 358 def self.encode_www_form_component(str, enc=nil) _encode_uri_component(/[^*\-.0-9A-Z_a-z]/, TBLENCWWWCOMP_, str, enc) end |