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кажется, что он сообщает только информацию о кодировке текста