J'ai un programme D avec Tango et j'essaye de décompresser une chaîne gzippée. Malheureusement, je n'ai pas de flux, mais les données compressées sont stockées dans un char[]
. Comment puis-je le décompresser en utilisant des tangos tango.io.compress.ZlibStream
? J'ai besoin d'un autre char[]
avec les données non compressées.Comment lire un objet char [] dans un tango.io.compress.ZlibStream?
J'ai essayé cela pendant des heures maintenant. Je ne suis pas très familier avec le tango.
Merci
Edit: mon code ressemble à ceci:
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