Почему файл кодировки US-ASCII содержит символы, отличные от US-ASCII? - PullRequest
0 голосов
/ 06 ноября 2019

Когда я выполняю 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. И как мне создать такой файл?

Спасибо!

...