2011-08-02 12 views
2

私は、文字列がActionscript escape()関数でエンコードされたパーセントを持つ環境を持っており、デコードのためにJavaに渡されました。Javaデコード文字列がエスケープされたActionscript

私は、例えば、テスト文字列"m é"を持っています。

URLDecoder.decode("m%20%E9", "UTF-8") 

結果は次のとおりです:
それは私は、Javaでそれを解読しようとすると"m%20%E9"
を出力ActionScriptのエスケープ()に渡され

"m ?" 

% E9は「のためのUnicodeのポイントですé "文字であるが、Javaデコードではあまり理解されていない。
Actionscript escape()でエンコードされた文字列をJavaでデコードする方法はありますか? これらの関数は異なるように見えるので、どのようなエスケープ形式ですか?

任意の助けを事前に感謝し、
パオロ

答えて

10

m%20%E9ない UTF-8です。これは、ASCII範囲(0〜127)以外の文字がUTF-8で少なくとも2バイト必要となるため、見やすくなります。 %20はスペースなので、éには%E9しか残らない。

éは実際にはU+00E9です。 1:1から下位255文字のUnicodeへの符号化マップはISO-8859-1です。

だから、これをデコードするための正しい方法は、このようになります:

URLDecoder.decode("m%20%E9", "ISO-8859-1") 
+0

こんにちはヨアヒム、あなたの助けに感謝しますが、あなたのコードは私のために同じ結果生成「メートルの?」 : – Paull

+0

@Paull:期待通りに "mé"を生成します。 –

+0

あなたは正しいですが、私は新しいアプリケーションで試してみましたが、完全に動作します。 – Paull

関連する問題