Não há como verificar que tipo de conteúdo um arquivo possui sem que algum programa o abra e leia o conteúdo.
Se você está perguntando como saber se o arquivo é binário ou texto sem abri-lo em um editor de texto , isso é certamente possível, pelo menos para a maioria dos arquivos. O Linux inclui o programa file
apenas para esse propósito; na linha de comando, execute
file name_of_file
(onde é claro que você substitui name_of_file
pelo nome real do arquivo que está testando). O programa file
imprime um palpite informado sobre o tipo do arquivo, com base em seu conteúdo, e geralmente é muito bom em adivinhar.
Naturalmente, sempre haverá alguns casos em que até file
não pode dizer. Se um arquivo é um texto codificado em UTF-8 que inclui muitos caracteres Unicode de numeração alta, por exemplo, ele provavelmente se parecerá com um arquivo binário e você ficará com rabiscos se abrir em um editor de texto que não seja Unicode-ciente. Embora, mesmo nesse caso, eu ache que file
possa ser capaz de identificá-lo corretamente ... o ponto é, às vezes é difícil / impossível dizer tudo, então você nunca pode ter 100% de certeza que você identificou o conteúdo digite corretamente.
Acho que a grande questão seria: por que você está tentando distinguir arquivos binários de arquivos de texto?