+[NSData gtm_dataByGzippingData:]を使用して、 によって返された UTF-8 でエンコードされたデータを gzip し+[NSJSONSerialization dataWithJSONObject:options:error:]
ます。
サーバーがzlib.decompress()NSData
で圧縮解除できるように、この gzip 圧縮を Python サーバーにパラメーターとして送信できる文字列に変換するにはどうすればよいですか?
+[NSData gtm_dataByGzippingData:]を使用して、 によって返された UTF-8 でエンコードされたデータを gzip し+[NSJSONSerialization dataWithJSONObject:options:error:]
ます。
サーバーがzlib.decompress()NSData
で圧縮解除できるように、この gzip 圧縮を Python サーバーにパラメーターとして送信できる文字列に変換するにはどうすればよいですか?
Python サーバーに送信する前に-[NSData base64EncodedString]
、gzip されたファイルを 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 経由でファイルとしてアップロードしようとしていますか?