【问题标题】:Objective-C gzipped NSData to Python gzipped string?Objective-C gzipped NSData 到 Python gzipped 字符串?
【发布时间】:2012-05-12 00:03:38
【问题描述】:
【问题讨论】:
标签:
python
objective-c
nsstring
gzip
nsdata
【解决方案1】:
使用-[NSData base64EncodedString] 之类的方法对gzip 压缩的NSData 进行base64 编码,然后再将其发送到Python 服务器。
然后,Python 服务器可以对其进行 base64 解码,然后像这样解压缩:
contacts_data = zlib.decompress(base64.b64decode(contacts_base64), 16)
【解决方案2】:
正如您在问题中引用的头文件中所说,deflate 不是 gzip。 Gzip 是一种文件结构,而 zlib 更像是一种压缩流。
首先,我建议您更改代码以使用...
+ (NSData *)gtm_dataByDeflatingData:(NSData *)data;
所以,现在您有了压缩数据。你如何将它发送到服务器?你是通过 HTTP 推送这个吗?它是具有直接套接字连接的自定义服务吗?您可以发送 8 位字节吗,您是否仅限于发送 7 位字节? ...您在使用 NURLConnection 吗? ...您是否尝试通过 HTTP 将(压缩)数据作为文件上传?