Схема кодирования текстовых файлов

Как приложения (например, vim) узнают, в каком формате (например, ASCII, Unicode и т. Д.) Данный текстовый файл находится перед тем, как его прочитать?

Кроме того, как мы можем написать C ++ программу для обнаружения того же самого?

1

Решение

Как правило, они не знают, прежде чем читать. Иногда они не знают когда-либо после того, как прочитают его — большинство смотрит на начало файла и пытается угадать кодировку данных, которые он содержит.

В некоторых случаях это может быть довольно легко (например, если оно начинается с спецификации Unicode), но в других довольно сложно. Одно время Microsoft «IsTextUnicode» делал неверные предположения относительно большого количества английского текста, поэтому Блокнот (для одной программы, которая его использовала) позволил бы вам напечатать одну вещь в файле, затем, когда вы снова откроете файл, он покажет вы что-то совершенно другое, потому что введенный вами английский интерпретировался как китайские символы, закодированные в Unicode.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]