次の10進数のASCII値の配列があります
int[] istr={146,192,128,224,185,152,240,192,6,26,66,72,186,184,88,128,182,40,104,96,36,236,152,128,212,200,64,64,101,252,174,0,96,192,112,24,173,228,200,0,192,128,96,192,144,116,201,48};
これらの値を(ascii / windows-1252)文字としてファイルに書き込みたい。
HOW IT SHOULD LOOK LIKE: ’À€à¹˜ðÀBHº¸X€¶(h`$였ÔÈ@@eü®
MY OUTPUT: ?À?à¹?ðÀBHº¸X?¶(h`$ì??ÔÈ@@eü®
簡単にわかるように、出力には、期待どおりにファイルに表示されない文字がいくつかあります。私のファイルを書き込むコード:
OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(output),"windows-1252");
try {
for (int c : istr) {
out.write(c);
}
} finally {
out.close();
}
では、なぜいくつかの特殊文字が私のファイルに正しく書き込まれないのですか?