755
760
# See URI.encode_www_form_component, URI.decode_www_form
756
761
def self.decode_www_form_component(str, enc=Encoding::UTF_8)
768
778
raise ArgumentError, "invalid %-encoding (#{str})" unless /\A(?:%\h\h|[^%]+)*\z/ =~ str
769
779
str.gsub(/\+|%\h\h/, TBLDECWWWCOMP_).force_encoding(enc)