膨胀 zlib 流对象时出现数据错误



我正在尝试在pdf中膨胀对象流。在膨胀其中一个使用 flate 解码压缩的对象流时,我收到数据错误。

对象流1339 0 obj^M<</First 7/Length 36/Filter/FlateDecode/N 1/Type/ObjStm>>stream^M

^ZÖ¬Áã9^<87>^GÎ<89><93>^WÊ<8d>ð<93>yM<96>t0Ò=$Ô<·×^L<84>° ̄$<8b>^M 端流

加密对象 1698 0 obj^M<</Length 128/Filter/Standard/O(¡"ÎÙ¢¬<9d><9c>"\r^S^LÀõeâJý;Î{dTÔÜ<9d>~'>^Tº)/P -1324/R 3/U(É^[®ú^F^C/¬®=ÌæZv5');\r view( a)/v 2>>^Mendobj

解密后,我得到了这些数据{0x68,0x16,0x48,0x59,0x11,0xef,0x34,0xe9,0xd0,0x79,0xf6,0xcb,0x73,0xf6,0x8a,0x50,0xed,0xdc,0x34,0xe9,0x60,0xb1,0xbf,0x3,0xf5,0x92,0x5,0x67,0x60,0xd9,0x84,0x34,0x44,0xad,0xa9,0x5c} 现在我必须解压缩这些数据。

调用膨胀(&zstrm,Z_FINISH)后出现数据错误; 我被困在这里。任何人都可以帮助我理解此错误。

答 :

在这里,我提供给 zlib 的输入不是有效的膨胀数据。加密输入流时,第一个字符是换行符。我跳过了那个换行符。这就是错误。

这不是 zlib 流,甚至也不是原始的 deflate 数据。

最新更新