Японские символы отображают фактическое содержимое, когда я читаю через объект inputStreamReader (только определяя закодированную кодировку), однако, когда я проверяю вывод физического файла, он содержит ненужный символ.У меня есть вопросы ниже, пожалуйста, помогите мне разобраться.
Почему физический файл меняется на нежелательный?например: ¥ Ô¡¼ ¥ ¿¡¼¡¼ ¥ ¸ ¥ 硼 ¥ º открывается с помощью блокнота.Примечание: То же самое, когда я открываю кодировку настроек OpenOffice Calc, отображается фактический японский символ.
При чтении с использованием inputStreamReader, если я указываю не кодированный символ, фактическое содержимое меняется на нежелательное.
Например: �ԡ���������� 硼 �� Так что, согласно моему пониманию, кодированная кодировка и декодированная кодировка должны быть одинаковыми. *
Я проверил этот ответ, Преобразование строкового кодирования UTF-8 в 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
�ԡ����������硼��