echo random text > text_file
Сохраняет текстовый файл в текстовом формате с кодировкой ASCII. Чтобы проверить кодировку, я делаю
chardetect text_file
что говорит мне, что файл в кодировке ASCII. Теперь у меня есть файл формата JPG, и я делаю то же самое
chardetect my_image_file
но он не распознает никакой кодировки в этом файле JPG.
Я прочитал эти два ответа (первый и второй) о том, в чем разница между форматом файла и кодировкой файла, и понял, что кодирование файла (ASCII, UTF-8 и т.д.) Сделано для представления данных пользователям (поскольку компьютеры не понимают по-английски). ), а также иногда проверяет целостность (Base64), в то время как форматы файлов - это просто представление о том, как данные представляются приложению для анализа (HTML, JSON и т. д.), а также о том, что носители и некоторые другие файлы (JPEG, MP4, DOC, PDF) хранятся в двоичном формате.
Вопросы
- Мое понимание правильности? Если да, то файлы бинарного формата (PDF, MP4, JPEG) не имеют никакой кодировки?
- Если существует кодировка для двоичных файлов (мультимедиа / другое), как ее обнаружить с помощью терминала.
- Как определить, какой формат использует файл (JSON, HTML, Обычный текст, PDF, GIF, JPEG и т.д.), Потому что кажется, что
chardetect
сообщает только информацию о кодировке текста