zlib の deflate を使用して文字列を膨張させようとしていますが、適切なヘッダーがないために失敗しているようです。この問題に対するC#の解決策は次のとおりであることを他の場所で読みました。
public static byte[] FlateDecode(byte[] inp, bool strict) {
MemoryStream stream = new MemoryStream(inp);
InflaterInputStream zip = new InflaterInputStream(stream);
MemoryStream outp = new MemoryStream();
byte[] b = new byte[strict ? 4092 : 1];
try {
int n;
while ((n = zip.Read(b, 0, b.Length)) > 0) {
outp.Write(b, 0, n);
}
zip.Close();
outp.Close();
return outp.ToArray();
}
catch {
if (strict)
return null;
return outp.ToArray();
}
}
しかし、私はC#について何も知りません。文字列にプレフィックスを追加しているだけだと推測できますが、そのプレフィックスが何であるかはわかりません。誰かがこの関数 (またはヘッダーの作成と文字列の連結だけ) を C++ で表現できるでしょうか?
膨らませようとしているデータは、zlib デフレを使用して PDF から取得されます。
ありがとう、ワイアット