Когда я выполняю file -i file_name
в оболочке Linux, результат:
text/plain; charset=us-ascii
Но этот файл содержит не US-ASCII-символ â
, который является расширенным ASCII.
Если я изменю файл и сохраню его как новый файл Vim, формат нового файла изменится на ISO-8859-1.
Я попытался сгенерировать новый файл с помощью Java с помощью приведенного ниже кода, формат нового файла также ISO-8859-1.
try (FileInputStream fileInputStream = new FileInputStream(in);
BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
FileOutputStream fileOutputStream = new FileOutputStream(out);
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream)) {
byte[] buffer = new byte[100];
while (bufferedInputStream.read(buffer) != -1) {
bufferedOutputStream.write(buffer);
}
}
Если я использую iconv
, чтобы изменитьновый формат файла от ISO-8859-1 до US-ASCII, он говорит:
iconv: illegal input sequence at position 15
Я не знаю, почему этот файл кодировки US-ASCII может содержать не символ US-ASCII. И как мне создать такой файл?
Спасибо!