我正在嘗試膨脹iOS 5.0上的gzipped字節緩衝區。 我正在使用在CocoaDev找到的NSData類別。 但是,每次我在NSData對象上調用gzipInflate時,它都返回「nil」。在iPhone上膨脹gzipped字節
我嘗試鏈接到libz,爲模擬器和設備建立,並嘗試一個乾淨的版本,但沒有成功。
NSData對象包含有效的gzip壓縮數據。
任何幫助,將不勝感激。
EDIT1:這是我使用的代碼。
uint8_t appendArray[1];
for (int i=0; i != 1024; i++) {
appendArray[0] = [self readByte]; // neccessary, because [self readByte] returns a uint8_t.
[tempdata appendBytes:appendArray length:1];
}
NSData *almostdata = [tempdata gzipInflate]; // Returns nil
assert(almostdata != nil); // Fails
Tempdata是一個NSMutableData對象,具有1024字節的容量。 readByte是一種從網絡流中讀取一個字節的方法。 gzipInflate方法來自here。 來自流的數據長度爲1024個字節,同時被壓縮。
EDIT2:這是一個Z_BUF_ERROR,但輸出緩衝區對於字節來說足夠大。
EDIT3:這個問題只是因爲我誤讀了網絡協議而引起的。在嘗試unzip之前,我只需要合併流中的所有數據。
發佈您的代碼。 – 2012-01-30 21:26:18
我已經添加了代碼。 – magmastonealex 2012-01-30 21:59:06