1
writer = new BufferedWriter(new OutputStreamWriter(System.out));
char[] test = new char[1];
test[0]=(char)128;
writer.write(test,0,1);
writer.flush();

このコマンドを使用して呼び出します。javaファイル>アウト

次に、16進エディタで「出力」を調べると、ファイルの先頭にバイト0x80があり、その後に何もないと予想されます。代わりに 0x3F を取得します。同じコードを別のもの、つまり 64 で実行すると、予想される 16 進数の 0x40 が得られます。

4

3 に答える 3

0

BufferedWriter文字指向のストリームであるため、書き込むバイトは、ファイルに表示される別のものにエンコードされます。BufferedOutputStreamこのようなタイプのバイナリ データを処理するように設計された を使用します。

于 2013-04-19T05:22:07.447 に答える