場景是這個樣子的,我這邊要實現一個接口, 服務器端是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