程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 方法-python中的類型怎麼對應java中的byte[]

方法-python中的類型怎麼對應java中的byte[]

編輯:編程綜合問答
python中的類型怎麼對應java中的byte[]

場景是這個樣子的,我這邊要實現一個接口, 服務器端是java做的,客戶端是python做的,服務器端向客戶端提供了一個login的接口,需要客戶端實現,login需要給服務器返回一個byte[] 的值 ,但是python中貌似沒有byte這個類型,我該怎麼處理?
bytearray 這個方法試過了 貌似不行 在線等好心人 求大神給我點一下啊 卡到這裡很長時間了,很緊 啊

最佳回答:


https://gist.github.com/igniteflow/1237391

正確答案 已經試過 成功 感謝開源社區 感謝 華為 劉峥

import base64

"""
Some useful functions for interacting with Java web services from Python.
"""

def make_file_java_byte_array_compatible(file_obj):
"""
Reads in a file and converts it to a format accepted as Java byte array
:param file object
:return string
"""
encoded_data = base64.b64encode(file_obj.read())
print encoded_data
strg = ''
for i in xrange((len(encoded_data)/40)+1):
strg += encoded_data[i*40:(i+1)*40]

return strg

def java_byte_array_to_binary(file_obj):
"""
Converts a java byte array to a binary stream
:param java byte array as string (pass in as a file like object, can use StringIO)
:return binary string
"""
decoded_data = base64.b64decode(file_obj.read())
strg = ''
for i in xrange((len(decoded_data)/40)+1):
strg += decoded_data[i*40:(i+1)*40]

return strg
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved