0

私はウェブとここを見てきましたが、答えが見つかりませんでした:これが私のコードです

zlib.decompress("""
xワᆳヤ=ラᄇHナs~Ʀᄑç\ムîà
Z@ÑÁÔQÇlxÇÆïPP~ýVãì゙M6ÛÐ|ê֭ᄁᄂヤ=)}éÓUe﬿ö3ᄎᄌú"}ʿïÿ÷1þ8ñ́U÷ᄏñíLÒVi:`ᄈᄎL!Ê҆p6-%Fë^ヘ÷à,Q.K!ユô`ÄA!ÑêweÌ ÊÚAロYøøÂjôóᅠÂcñ䊧fᆴùテúN :nüzAÝ7%ᄌcdUタᄌ3ôPۂタlンyHᆲᄑ$/yzᄒíàヌ'ÕÓ&`|S!<'ᄂ÷Zļᄐ2ホモ;ニ(ÅÛfb!úü$ナテᄒ,9ßhàPᄎᄄێフÑbØὛホQᄍ-Ü}(n;ᄄホLヤ\^ï9ᆭᄍラDdВéÞ|åPOGᄂÐÙ%â&AÔë)ÎTÐC ᄐïc枢í%Èï!フᄋëiq*ᄌVKÐNᄡ[ᄁfOq{OᆭÆÊ,0GᄂリmtツᄈOᄌΥ$#îヘqbYᄆメUニᄉÞáP`
ヨ×ᆵÃPwaレǩâ×)ハFcêÚ=!Åöᄊ
)AFñᄈ/cMᄃ!NóNΈór?pàÜòXw
Bvæ0ïçIÉoマ&gt;5pᆭ-ØWÚNᄆùFᄆØPçÃþdᅠ;ル1[Oᄈホ~6ツᄈᆬŕìᄄޠ=øð@ネV﾿ᄅ)÷%ユÜib{HᄆKŅVlDCテîfÑWì÷ìáár.ワîv﾿&lt;dᄎn~ú*ÁÕ7ýá}EsYᆵWᄂÈ:R×ãQңメ?Ø1vヘäツ~èR1ᄉÜ*ᄡónAᆬjmNoツユᄈÌښᆬf[8ᆭÛ&gt;゙OWラ|ÌbDᄁÖ녡M=Ð÷èâミム'ÂÝÐ ;ë mᄎQÂäԤۢ:モᄆdᄎᄑLȂ1ᄈ_÷YZᆲNòÛ â\ロxÐlݵᆵムᆱøm5Ëá=ïoÍlMᆪ[×#Ypᅠトx[ÉÊyæツoモナz)ᆭᄀÝÏìò
""")

これは、zlib.compress によって別の文字列を取得した文字列でした。この文字列を解凍するにはどうすればよいですか? よろしく Bussiere

4

2 に答える 2

2

zlib.compressの出力を渡すと、zlib.decompressが機能するはずです。

圧縮された文字列は実際にはテキストではないため、バイナリ文字列です。あなたが見つけたように、それは端末に表示することと友好的に遊ぶことはありません。

base64エンコーディングを使用して、ユニットテストにドロップしたり、コードに貼り付けたりするのに安全なものを提供できます。

>>> import zlib
>>> a = zlib.compress('fooo')
>>> b = a.encode('base64')
>>> b
'eJxLy8/PBwAENgG0\n'
>>> c = 'eJxLy8/PBwAENgG0\n'.decode('base64')
>>> zlib.decompress(c)
'fooo'
>>> zlib.decompress(a)
'fooo'

出力としてのaは、バイナリ送信また​​はファイルへの保存に問題ありません。

bは、クリップボードでの使用、電子メールでの送信などに便利です。

于 2010-10-11T11:32:43.773 に答える
0

私はその表現にそれを持っていません。repr()他のコードで使用して、ASCII クリーンな表現を生成し、代わりにそれを使用します。次に、結果で三重引用符を探して分割します。

于 2010-10-11T09:38:55.103 に答える