1

Как я могу определить, является ли файл двоичным файлом или текстовым файлом, не открывая его?

2 ответа2

9

Невозможно проверить, какое содержимое имеет файл, без какой-либо программы, открывающей его и фактически читающей содержимое.

Если вы спрашиваете, как определить, является ли файл двоичным или текстовым, не открывая его в текстовом редакторе, это, безусловно, возможно, по крайней мере для большинства файлов. Linux включает file программу именно для этой цели; в командной строке запустите

file name_of_file

(где, конечно, вы заменяете name_of_file реальным именем файла, который вы тестируете). file программа распечатает обоснованное предположение о типе файла, основываясь на его содержимом, и обычно оно довольно хорошо угадывается.

Конечно, всегда будут некоторые угловые случаи, когда даже file не может сказать. Например, если файл представляет собой текст в кодировке UTF-8, который включает в себя множество символов Unicode с большими номерами, он, вероятно, будет выглядеть как двоичный файл, и вы получите бред, если откроете его в текстовом редакторе, который не Юникод. Хотя даже в этом случае, я думаю, file может быть в состоянии правильно идентифицировать его ... суть в том, что иногда трудно / невозможно сказать вообще, поэтому вы никогда не можете быть на 100% уверены, что правильно определили тип содержимого ,

Я думаю, что большой вопрос был бы, почему вы пытаетесь отличить двоичные файлы от текстовых файлов?

1

Это невозможно. Все, что вы можете сделать, это использовать такие инструменты, как file чтобы сделать правильный выбор.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .