2016-09-29 29 views
1

我使用ActionScript來發送一個數組服務器與此代碼(我只寫代碼的那部分在這裏): -解碼的ActionScript的ByteArray使用python

var a:ByteArray=new ByteArray; 
a.writeObject({'a':'b','c':'d'}); 
socket.writeBytes(a); 
socket.flush(); 

我在這裏已經開了一個插座我的服務器上的一個端口,我有一個python代碼在該端口上進行偵聽。在編譯後運行swf時,如何解碼使用python接收的字節? 我在服務器端收到以下內容: - b'\n\x0b\x01\x03c\x06\x03d\x03a\x06\x03b\x01'

回答

2

ActionScript使用AMF格式。有一個可用於Python的AMF庫:PyAMF

我得到這個,當我測試(用Python 2.7版):

>>> import pyamf 
>>> for item in pyamf.decode('\n\x0b\x01\x03c\x06\x03d\x03a\x06\x03b\x01'): 
...  print item 
... 
{'a': u'b', 'c': u'd'} 
+0

非常感謝。有用。任何方式來在python 3.5中做到這一點? – DLN

+0

@DLN我想是的,我只是沒有嘗試過。 – zvone

+0

我以爲pyamf不支持python 3.5,我以前試過,但無法安裝。它可以很好地用python 2.7。 – DLN