2012-08-07 1 views
1

나는 그 안에서 검색을 수행하기 때문에 사용자가 제공 한 파일이 텍스트인지 아닌지를 결정해야하는 애플리케이션을 작성하고 있습니다.파일이 바이너리 또는 텍스트인지 어떻게 확인할 수 있습니까?

나는 확장 기능을 기반으로하지 않으므로, 예를 들어 소스 코드 파일이나 텍스트 내용이있는 파일 (잘 알려지지 않은 확장 기능도 포함)에서 검색하려고합니다.

파일이 텍스트인지 아닌지 확인하는 방법이 있습니까?

답변

1

감사에서 제공하는 솔루션 모두를! 나는 그 일을 꽤 잘하는 것처럼 보이는 프레임 워크를 발견했다!

참조 용 링크를 남깁니다. https://github.com/aidansteele/MagicKit

0

확신 할 수있는 방법이 없습니다. 그러나 대부분의 제어 문자 은 ASCII 파일에 나타나지 않습니다. 대부분의 ASCII 하위 문자 집합을 제어 문자 로 만들면 꽤 잘 추측 할 수 있습니다. 그런 다음 서브 세트에서 인 파일의 문자 수를 세십시오. ASCII 파일의 경우 수는 0이어야합니다. 그러나 최종 분석에서 당신은 성가신 것을 증명해야합니다. 그것은 성가신 할 일입니다.

0

데이터를 열고 읽어야합니다.

ASCII 텍스트 파일의 경우 문자가 인쇄 가능 범위에 있는지 확인합니다.

UTF 텍스트 파일의 경우 나머지 파일을 읽기 전에 인코딩을 결정하기 위해 먼저 BOM (Byte Order Mark)을 읽어야 할 수 있습니다.

더 여기 읽기 : http://en.wikipedia.org/wiki/Text_file

관련 문제