0

Tangoを使用したDプログラムがあり、gzipで圧縮された文字列を解凍しようとしています。残念ながら、Aストリームはありませんが、圧縮データはに保存されますchar[]。タンゴを使用して解凍するにはどうすればよいtango.io.compress.ZlibStreamですか?char[]非圧縮データで別のものが必要です。

私はこれを何時間も試しています。私はタンゴにあまり詳しくありません。

ありがとうございました

編集:私のコードは次のようになります:

char[] rawData; // decoded data goes here
Array array = new Array(e.value[4..(e.value.length-3)]); // e.value is a char[]
// array slice, castet to char[] is "H4sIAAAAAAAAA2NkYGBgHMWDBgMAjw2X0pABAAA="
// array.readable returns 40 (matches the above string)
// decoded string is expected to be 33 repeatitions of "AQAAAAEAAAABAAAA"
// followed by "AQAAAA=="
auto reader = new ZlibInput(array);
ubyte[1024] buffer;
reader.read(buffer); // throws Z_DATA_ERROR
4

1 に答える 1

0

まあ、気にしないでください。このファイル形式を設計した人は、base64でエンコードする前にデータを圧縮したようです。まだbase64でエンコードされたデータを解凍しようとしました。

文字列をbase64でデコードし、結果のubyte配列でgzipを使用すると、うまくいきました。

申し訳ありません。

于 2010-08-05T15:45:03.307 に答える