擅长:python、mysql、java
<p>Flash可能会破坏这一点,但您应该共享Actionscript中的一个示例,该示例创建并检查这些数据。</p>
<p>如果您使用的是第三方库,则它可能使用了Python所期望的替代字符集。</p>
<p>如果您使用的是官方库,那么Actionscript实现UTF8和ascii的方式似乎不同。(这里有不同的方法-<a href="http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/utils/Base64Encoder.html" rel="nofollow">http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/utils/Base64Encoder.html</a>)</p>
<p>只需查看actionscript并注意库或代码是否有问题,比尝试反向工程要容易得多。</p>
<p>我想这也值得尝试反向修正。。。</p>
<pre><code>import base64
import zlib
flash = "eNrj4mZkrShgWdHBx1mUmJfNosQIACUhBCI="
original = '{"xp": 656398, "rank": 34}'
encoded = original.encode('zlib').encode('base64')
decoded = encoded.decode('base64').decode('zlib')
print original
print encoded
print decoded
</code></pre>
<p>我能问一下你为什么要这么做吗?</p>
<p>1-除非你的数据包大得多,否则你不会节省很多带宽。事实上,对小的有效载荷进行压缩实际上可以增大尺寸。</p>
<p>2-假设这是基于web的,您应该能够让服务器动态地执行此操作。</p>