[問題] 解碼Base64字串並轉成byte array

看板Python作者 (wade)時間8年前 (2016/06/19 13:48), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
我的client端為Android平台撰寫語言為Java 在Java端將byte array ( byte[] ) 編碼成base64字串 送至Python 的 Server端接收到base64字串 但是要將此字串解碼為python的byte array遇到了一些問題 des_encoded = request.args["des_encoded"] data = base64.b64decode(des_encoded) 錯誤訊息: Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/twisted/web/http.py", line 1439, in dataReceived finishCallback(data[contentLength:]) File "/usr/local/lib/python2.7/dist-packages/twisted/web/http.py", line 1708, in _finishRequestBody self.allContentReceived() File "/usr/local/lib/python2.7/dist-packages/twisted/web/http.py", line 1781, in allContentReceived req.requestReceived(command, path, version) File "/usr/local/lib/python2.7/dist-packages/twisted/web/http.py", line 768, in requestReceived self.process() --- <exception caught here> --- File "/usr/local/lib/python2.7/dist-packages/twisted/web/server.py", line 183, in process self.render(resrc) File "/usr/local/lib/python2.7/dist-packages/twisted/web/server.py", line 234, in render body = resrc.render(self) File "/usr/local/lib/python2.7/dist-packages/twisted/web/resource.py", line 250, in render return m(request) File "server.py", line 17, in render_POST data = base64.b64decode(des_encoded) File "/usr/lib/python2.7/base64.py", line 74, in b64decode return binascii.a2b_base64(s) exceptions.TypeError: must be string or buffer, not list 因為在Android中要將byte array傳到python server 所以想將byte array化為字串 於是使用Base64對其做編譯 也不知道這方法好不好 想請問各位有沒有更好的解決方法 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.69.123.238 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1466315288.A.75D.html

06/19 14:21, , 1F
錯誤訊息不是說了,你應丟進去string或buffer
06/19 14:21, 1F

06/19 14:22, , 2F
但你卻丟進去list
06/19 14:22, 2F

06/20 13:34, , 3F
我的type真的是list... 好奇怪 原來如此 我在檢查謝謝
06/20 13:34, 3F
文章代碼(AID): #1NPZ8OTT (Python)