Preview Ruby 4.1 is a preview. It can change before the final release. Switch to Ruby 4.0 →
instance method
CGI::Escape#escape
(::string str) -> ::String
escape(string)
lib/cgi/escape.rb
View on GitHub ↗
# File tmp/rubies/ruby-4.1.0-preview1/lib/cgi/escape.rb, line 28
def escape(string)
encoding = string.encoding
buffer = string.b
buffer.gsub!(/([^ a-zA-Z0-9_.\-~]+)/) do |m|
'%' + m.unpack('H2' * m.bytesize).join('%').upcase
end
buffer.tr!(' ', '+')
buffer.force_encoding(encoding)
end
URL-encode a string into application/x-www-form-urlencoded. Space characters (" ") are encoded with plus signs ("+")
Example
url_encoded_string = CGI.escape("'Stop!' said Fred") # => "%27Stop%21%27+said+Fred"