У меня есть пара исходных файлов C++ (один .cpp и один .h), которые сообщаются как данные типа командой file в Linux. Когда я запускаю команду file -bi этих файлов, я получаю такой вывод (одинаковый вывод для каждого файла):
application/octet-stream; charset=binary
Каждый файл явно текстовый (я могу просмотреть их в vi). Что заставляет file неверно указывать тип этих файлов? Может ли это быть что-то вроде Unicode? Оба эти файла были созданы в Windows-Land (с использованием Visual Studio 2005), но они компилируются в Linux (это кроссплатформенное приложение).
Любые идеи были бы хорошы.
Обновление: я не вижу нулевых символов ни в одном файле. Я нашел несколько расширенных символов в файле .cpp (в блоке комментариев), удалил их, но file прежнему сообщает ту же кодировку. Я пытался форсировать кодировку в SlickEdit, но, похоже, это не дало эффекта. Когда я открываю файл в vim , я вижу [converted] строку, как только я открываю файл. Возможно, я смогу получить vim для принудительного кодирования?
