2

私には大きな問題があります: base64_decode($string); を実行しても同じ結果にはなりません。PHPで、またはBase64.decode(string);を実行する場合 アンドロイドで。

例: この文字列: WWhiZWWSZpNlaGSTnpljZQ==

PHP では、結果は Yhbee'f“ehd“ž™ce です。

Android では、結果は Yhbee�f�ehd���ce です。

エンコーディングの問題があると思いますが、PHP サーバーの出力が ISO-8859-1 である場所がわかりません。このタイプのエンコーディングを使用するように Base64.decode に指示する方法がわかりません。

助けてください。回答ありがとうございます。

PS : PHP スクリプトには触れられません。

4

3 に答える 3

0

デコードは問題ないと思いますが、Android は適切なエンコーディング (おそらく utf-8) を適用していません。

このコンテンツは HTML ページに表示されますか? もしそうなら、ISO-8859-1エンコーディングを適切に適用していますか?

または、UTF-8 に切り替えることもできます。

于 2013-03-29T14:42:05.107 に答える
0

これを試してください:

 Base64.decode(content.getBytes("ISO-8859-1"), Base64.DEFAULT);

これにより、入力文字列contentISO-8859-1、base64 からデコードされるエンコードされたバイト ストリームに変換します。

于 2013-03-29T14:52:31.690 に答える