1

URLVariables 変数名にアンダースコア文字を使用することは可能ですか? たとえば、次のコードは「my_username=foo」ではなく「my%5Fusername=foo」を出力します。

import flash.net.URLVariables;
var variables : URLVariables = new URLVariables("my_username=foo");  
trace(variables.toString());

トレースと同様に、リクエスト内のアンダースコアの代わりに「%5F」が表示されます。代わりにアンダースコア文字を表示させる方法はありますか?

4

3 に答える 3

1

URLVariables クラスは使用しないでください。他のことも間違っていることが知られています。 この URL RFCは、アンダースコアを特殊文字と呼び、英数字と同じカテゴリに入れ、エンコーディングは不要であると述べています。この RFC では、変数を配置する部分を「クエリ」と呼び、それに pchar を割り当て、pchar にはアンダースコア文字が含まれていると記述しています。

実際には、アンダースコア文字を含む URI はブラウザやサーバーに問題を与えないようです。したがって、それをエンコードするのは明らかに間違っています。

EDIT:さらに読むと、これはむしろ望ましくない動作であり、間違い(URIノーマライザーはエンコードされたアンダースコアを元の外観に戻すことを知っている)のように見えますが、アンダースコアのエンコードは英語のアルファベットの文字のエンコードと同じです- 無駄で愚かです。

于 2012-01-09T06:33:27.677 に答える
0

trace(unescape(variables.toString()));

于 2012-01-09T05:29:25.843 に答える