我有一個字符串保存到一個數據庫中,該數據庫由Actionscript通過base64ing進行編碼,然後zlib將其壓縮。在python中從actionscript中讀取base64/zlib編碼的字符串
的示例串是這樣的: 「eNrj4mZkrShgWdHBx1mUmJfNosQIACUhBCI =」
如果我解壓並通過ActionScript聯合國的base64這一點,我得到了我期望:
{ 「XP」:656398, 「等級」:34 }
但是,我需要能夠讀取這個服務器端。目前我正在使用Python,但我會開放給一個有效的PHP解決方案或類似的。
所以在Python到目前爲止,我已經試過這樣:
import base64
import zlib
s = 'eNrj4mZkrShgWdHBx1mUmJfNosQIACUhBCI='
print s.decode("base64").decode("zlib")
它看起來像的Actionscript增加了一些額外的比特到頭部,但我的Python是沒有強大到足以擊敗這個:)任何幫助將不勝感激!
編輯:動作腳本首先需要一個AS對象,並將其轉換爲ByteArray,之後zlib將其壓縮並base64ing它。它看起來像是生成額外的頭/損壞的數據信息。
請再想一想,告訴我們100%的確定性:按照何種順序執行編碼?先是拉鍊,然後是b64運輸,或者反過來呢? –