내 자신의 PNG 라이브러리 용으로 자체 Inflater를 구현하려고합니다. (알아 두어야 할 것은, idc를 바꿔서는 안됩니다.)zlib/RFC1950의 FCHECK는 어떻게 작동합니까?
저는 정말 어떻게 작동하는지 이해하는 데 어려움을 겪고 있습니다. 분명히 그것은 31의 배수가되어야합니다 (5 비트에서, 그래서 항상 31?). 가장 중요한 비트부터 가장 중요한 비트까지 읽어야합니다. 이전에 보았던 다른 모든 포맷과 반대입니다. , 그것은 약간의 혼란을 가져오고있다.
Zlib 소스 코드를 읽으려고했으나 기본적으로 읽을 수 없었으며 RFC는 "check code"에 대해 구체적이지 않습니다 (분명히 zlib 헤더의 두 번째 바이트의 5 개 유효 비트입니다). , 또는 iDAT/fDAT 척 데이터 섹션의 두 번째 바이트).
제 질문은; 어떻게 읽습니까? 어떻게 검증합니까? 어떻게해야합니까?
편집 : 체크 코드도 RFC에 fcheck가 호출 될 1950
그래서 2 바이트 블록의 값을 취하여 5 비트 섹션을 생성하고이를 31의 배수로 만들기 위해 전체 2 바이트 블록을 31으로 모듈화합니다 . 지금 감사합니다. – MarcusJ