我使用+[NSData gtm_dataByGzippingData:]給gzip由+[NSJSONSerialization dataWithJSONObject:options:error:]
返回的UTF-8編碼的數據。Objective-C的gzip壓縮的NSData到Python gzip壓縮串?
如何將此gzipped NSData
轉換爲一個字符串,我可以將其作爲參數發送給Python服務器,以便服務器可以使用zlib.decompress()對其進行解壓縮?
我使用+[NSData gtm_dataByGzippingData:]給gzip由+[NSJSONSerialization dataWithJSONObject:options:error:]
返回的UTF-8編碼的數據。Objective-C的gzip壓縮的NSData到Python gzip壓縮串?
如何將此gzipped NSData
轉換爲一個字符串,我可以將其作爲參數發送給Python服務器,以便服務器可以使用zlib.decompress()對其進行解壓縮?
您把它送到了Python服務器之前使用的方法類似-[NSData base64EncodedString]
爲base64編碼的gzip壓縮NSData
。
然後,Python的服務器可以基於64位解碼,然後解壓縮它像這樣:
contacts_data = zlib.decompress(base64.b64decode(contacts_base64), 16)
因爲它在你在你的問題中引用的頭文件說,放氣是不是gzip。 Gzip已是一個文件結構,其中作爲ZLIB是更大的壓縮流的。
首先,我建議你改變你的代碼,使用...
+ (NSData *)gtm_dataByDeflatingData:(NSData *)data;
所以,現在你有壓縮數據。你如何將它發送到服務器?你是否通過HTTP推送?它是直接套接字連接的定製服務嗎?您可以發送8位字節,是你僅限於發送7位字節? ...你在使用NURLConnection嗎? ...你是否試圖通過HTTP將(壓縮)數據作爲文件上傳?