2017-02-03 10 views
0

1MBに近いデータでutf-8変換が行われない理由を理解できません。ネットワークデータには特殊文字がいくつかあります。適切アプリで表示されない、線の下に小さなサイズのためのデータを正常に変換ではなく、1メガバイト大きいサイズでUTF-8変換が行われない

responseString = new String(response.toString().getBytes("ISO-8859-1"), "UTF-8");

の近くに大きさであるデータは、私は、UTF-8形式の変換は、Javaでのサイズ制限があるかどうかを理解したいです?

答えて

0

あなたのコードがISO-8859-1にUTF-8から変換しません、それは(UTF-16内部String表現から)ISO-8859-1にごresponse.getString()文字列を変換し、解釈それはUTF-8としてです。これは間違っており、バイト> = 128(Javaのネガティブバイト)では機能しません。

あなたの応答文字列のUTF-8表現したい場合:

byte[] utf8Response = response.toString().getBytes("UTF-8"); 
+0

は動作しませんでした..私はここにしようとしていることは、有効な文字にジャンク文字から克服することです!。上記のコードで同じ文字が他の画面で正しく変換されて表示されている場合、同じ方法が他の画面では機能しませんでした – chethan

関連する問題