当我读取inputStreamReader对象(仅指定编码的字符集)时,日语字符显示实际内容,但是当我检查物理文件的输出时,它包含 垃圾字符。 我有一个以下问题,请帮助我理解。
为什么物理文件变为垃圾文件?例如:用记事本打开的“¥”,“¥”,“¥”,“¥”。注意:在OpenOffice Calc上打开时相同 设置字符集会显示实际的日语字符。
在使用inputStreamReader进行读取(如果我指定了除
编码字符,实际内容变为垃圾。
例如:根据我的理解,编码的字符集和
解码的字符集必须相同。*
我已经检查了答案String encoding conversion UTF-8 to SHIFT-JIS。
但是我需要知道的是,假设解码时编码文件是不同的 如果我们使用UTF-8,是否有可能显示实际内容。
OutputStream os = new FileOutputStream("japanese.txt");
OutputStreamWriter osw = new OutputStreamWriter(os, "EUC-JP");
osw.write("ピーター・ジョーズ");
osw.flush();
osw.close();
InputStream ir = new FileInputStream("japanese.txt");
InputStreamReader isr = new InputStreamReader(ir, "EUC-JP");
int i =isr.read();
while(i!=-1) {
System.out.print((char)i);
i=isr.read();
}
isr.close();
编码和解码-(EUC-JP)
ピーター・ジョーズ
编码-EUC-JP:解码-UTF-8
�ԡ����������硼��