私はちょうどそれがhase base64エンコーディングもgzip圧縮された文字列であるテキストの文字列を膨張/伸長することが可能ですか?python - gzipped、base64dの文字列を拡張する方法
例えば、すべてのpythonの例は、ファイルを開くことに焦点を当てているようですが、gzipped文字列で作業したいと思います。
私はちょうどそれがhase base64エンコーディングもgzip圧縮された文字列であるテキストの文字列を膨張/伸長することが可能ですか?python - gzipped、base64dの文字列を拡張する方法
例えば、すべてのpythonの例は、ファイルを開くことに焦点を当てているようですが、gzipped文字列で作業したいと思います。
あなたは、base64とzlibのライブラリを使用することができます。
import base64, zlib
decoded_data = base64.b64decode(zlib.decompress(encoded_data))
のgzipモジュールは、ファイル操作のためだけである:https://docs.python.org/2/library/gzip.html。 実際の圧縮/解凍にはzlibを使用します。
gzip
モジュールのGzipFile
モジュールでは、fileobj
引数を指定できます。文字列が本当にあるならばがはgzip圧縮された:あなたがStringIO
オブジェクト内の文字列を折り返すとのpython3の下周り
import base64
import gzip
from io import StringIO
gzippedstr = fetchgzippedstr() # wherever it may come from
gzcontent = gzip.GzipFile(fileobj=StringIO(gzippedstr))
b64content = gzcontent.read()
content = base64.b64decode(b64content)
それを渡すことができます(すなわち、それは適切なヘッダを持っている)、他の回答は私が、私を助けていません見つかったこの:
import base64
import zlib
data = 'H4sIAAAAAAAAAHWPwQqCQBCGX0Xm7EFtK+smZBEUgXoLCdMhFtKV3akI8d0bLYmibvPPN3wz00CJxmQnTO41whwWQRIctmEcB6sQbFC3CjW3XW8kxpOpP+OC22d1Wml1qZkQGtoMsScxaczKN3plG8zlaHIta5KqWsozoTYw3/djzwhpLwivWFGHGpAFe7DL68JlBUk+l7KSN7tCOEJ4M3/qOI49vMHj+zCKdlFqLaU2ZHV2a4Ct/an0/ivdX8oYc1UVX860fQDQiMdxRQEAAA=='
json_str = zlib.decompress(base64.b64decode(data), 16 + zlib.MAX_WBITS).decode('utf-8')
希望これは役立ちます
素晴らしい!他の答えも私を助けなかった、あなたのものは完璧です! ありがとう! – VivienG
I何の入力に適用されるこれらのアルゴリズムどこオーデル?サンプルがありますか? –
ヒントとして、 'gzip'と' base64'という(組み込みの)Pythonモジュールがあります。必要なツールがすべて入っているはずです。 https://docs.python.org/2/library/gzip.html – sebastian