我正在使用+[NSData gtm_dataByGzippingData:]对+[NSJSONSerialization dataWithJSONObject:options:error:]
.
如何将此 gzipped 转换NSData
为可以作为参数发送到 Python 服务器的字符串,以便服务器可以使用zlib.decompress()对其进行解压缩?
我正在使用+[NSData gtm_dataByGzippingData:]对+[NSJSONSerialization dataWithJSONObject:options:error:]
.
如何将此 gzipped 转换NSData
为可以作为参数发送到 Python 服务器的字符串,以便服务器可以使用zlib.decompress()对其进行解压缩?
在将 gzip 压缩文件发送到 Python 服务器之前,请使用类似-[NSData base64EncodedString]
base64 编码的方法。NSData
然后,Python 服务器可以对其进行 base64 解码,然后像这样解压缩:
contacts_data = zlib.decompress(base64.b64decode(contacts_base64), 16)
正如您在问题中引用的头文件中所说,deflate 不是 gzip。Gzip 是一种文件结构,而 zlib 更像是一种压缩流。
首先,我建议您更改代码以使用...
+ (NSData *)gtm_dataByDeflatingData:(NSData *)data;
所以,现在你有了压缩数据。你如何将它发送到服务器?你是通过 HTTP 推送这个吗?它是具有直接套接字连接的自定义服务吗?您可以发送 8 位字节吗,您是否仅限于发送 7 位字节?...您在使用 NURLConnection 吗?...您是否尝试通过 HTTP 将(压缩)数据作为文件上传?