タイトル募集中3.0

しがないITソルジャーの雑記。

URLVariablesのdecodeメソッドについて

http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/net/URLVariables.html

var variables:URLVariables = new URLVariables();
variables.name = "hogeo";
variables.id = "hogehoge";

URLVariablesのプロパティに値を割り当てるところを連想配列で受け取った値にしたかったので調べてみた.
URLVariablesにdecodeメソッドがあったので,ストリング渡しておけばいいのかなと説明も読まずに,とりあえず下のようにやってみた.

variables.decode("name") = "hogeo";

あたりまえだけど,エラー.さすがにこれはないよな,動考えても.ということで,decodeメソッドのところをよく読むと

パラメータ
source:String ― 名前と値のペアを含む、URL エンコードされたクエリーストリングです。

例外
Error ― ソースパラメータは、名前と値のペアを含む、URL エンコーディングされたクエリーストリングでなければなりません。

と書いてあるので,「name=hogeo」のようにやってみる.

variables.decode("name=hogeo");

できた.これはURLエンコードしてないけど,やるならflash.utilsパッケージのescapeMultiByte関数を使えばいいらしい.
http://f-site.org/articles/2007/06/09232451.htmlここを参考にしました