неділя, 14 червня 2009 р.

URL Encoding/Decoding with Ruby 1.9

Encode and decode a string for a URL with Ruby 1.9 (according to RFC 3986 and RFC 3629).

# URL encoded text:
enc_str = "http://uk.wikipedia.org/wiki/%D0%84%D0%B2%D1%80%D0%BE%D0%BF%D0%B0"

# Decode:
require 'cgi'
dec_str = CGI::unescape(enc_str)
=> http://uk.wikipedia.org/wiki/Європа
dec_str.encoding
=> #<Encoding:UTF-8>


# URL decoded text:
dec_str = "Декодований текст"

# Encode:
require 'cgi'
enc_str = CGI::escape(dec_str)
=> "%D0%94%D0%B5%D0%BA%D0%BE%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B9+%D1%82%D0%B5%D0%BA%D1%81%D1%82"
enc_str.encoding
=> #<Encoding:US-ASCII>

Немає коментарів: