names=decode_www_form
visibility=public
kind=defined

--- decode_www_form(str, enc=Encoding::UTF_8) -> [[String, String]]

文字列から URL-encoded form data をデコードします。

application/x-www-form-urlencoded 形式のデータをデコードし、
[key, value] という形の配列の配列を返します。

enc で指定したエンコーディングの文字列が URL エンコードされたものと
みなし、エンコーディングを付加します。

「_charset_ hack」はサポートされていません。
これで指定されたエンコーディングと Ruby のエンコーディングとの
対応がはっきりしないからです。これに関しては
[[url:http://www.w3.org/TR/html5/parsing.html#character-encodings-0]]
も見てください。

このメソッドは
[[url:http://www.w3.org/TR/html5/association-of-controls-and-forms.html#url-encoded-form-data]]
にもとづいて実装されています。


  ary = URI.decode_www_form("a=1&a=2&b=3")
  p ary                  #=> [['a', '1'], ['a', '2'], ['b', '3']]
  p ary.assoc('a').last  #=> '1'
  p ary.assoc('b').last  #=> '3'
  p ary.rassoc('a').last #=> '2'
  p Hash[ary]            # => {"a"=>"2", "b"=>"3"}

@param str デコード対象の文字列
@param enc エンコーディング
@raise ArgumentError str のフォーマットが不正である場合に発生します
@see [[m:URI.decode_www_form_component]], [[m:URI.encode_www_form]]

