Как прочитать объект char [] в tango.io.compress.ZlibStream? - PullRequest
0 голосов
/ 04 августа 2010

У меня есть программа D с танго, и я пытаюсь распаковать сжатую строку. К сожалению, у меня нет потока 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

1 Ответ

0 голосов
/ 05 августа 2010

ну, не важно.Похоже, парень, который разработал этот формат файла, сжал данные, прежде чем он закодировал их с base64.Я попытался распаковать все еще данные, закодированные в base64.

Когда я декодировал строку с base64 и использовал gzip для полученного массива ubyte, это помогло!

извините за это.

...