답변:
gzip 레벨을 직접 판별 할 방법이 없습니다.
내 생각에 파일을 결정하는 유일한 방법은 파일을 압축하여 다른 수준으로 압축 한 다음 결과를 기존 파일 크기와 비교하는 것입니다.
기본 수준은 6이므로 대부분의 경우 답이되어야합니다.
파일 헤더에 저장됩니다. 그것을 보려면 file
command를 사용하십시오 . 예를 들면 다음과 같습니다.
$ file testfile.gz
testfile.gz: gzip compressed data, from Unix, last modified: Sun Sep 15 14:22:19 2013, max compression
불행히도 헤더에는 최대 속도 (수준 1), 최대 압축 (수준 9) 및 "정상"(기타 모든 수준)의 세 가지 가능한 값만 있습니다. 그러나 아무것도 아닌 것보다 낫습니다!
file
를 인식 할 수있는 이유 ). . 10 ^ 7 바이트 파일은 여전히 7 개의 고유 출력 (파티셔닝 된 (1,2,3,4,5678,9))을 가져 왔습니다. 이것이 큰 파일에는 다른 레벨이 쓸모 없다는 것을 의미하지는 않지만 9 개의 고유 한 출력을 가정 할 수 없다는 것을 보여줍니다.
그것을 아는 직접적인 방법은 없습니다. 아마도 6 (현재 기본값) 또는 9 (최고 압축)입니다. 시도하고 비교해야합니다.
https://stackoverflow.com/questions/16153334/how-to-determine-the-compression-level-of-deflate를 참조 하십시오.