2012-04-23 8 views
0

どのように文字列サイズの制限を克服できますか。JavaME Base64InputStream.decode()64K文字列サイズに制限

64kを超える文字列のdecodeを呼び出すことができないようです。

 is = con.openInputStream(); 
     String str = new String(IOUtilities.streamToBytes(is), "UTF-8"); 
     byte[] theArray = Base64InputStream.decode(str); 

アイブ氏は

 Base64InputStream bs64 = new Base64InputStream(is); 

を使用してそしてbs64ストリームから取得しようとするなど、alsortsを、試してみました。

しかし、大きなサイズを読み取るとデコードエラーが発生するようです。 (ここでは、64k未満のサイズの場合はエラーが起きませんでした。私はこれを理解しようと一日中過ごしました..

答えて

4

あなたの文字列をより小さな塊でデコードすることができます3デコードチャンクまたは3バイト

+0

Iveはすでにこれを試しました。しかし、まだデコードエラーが発生しました。 – Doomsknight

1

文字列をチャンクに分割しようとしています(文字列をバイトに変換する)。フル文字列のエンコードを終了するまで、各チャンク(バイトのチャンク)をエンコードしてください。 各チャンクをデコードしました。

注:すべてのチャンク(バイトのチャンク)を結合しないで、デコードエラーが発生したため、デコードエラーが発生します。