2012-07-30 23 views
5

में मैं Jython के साथ विकसित कर रहा हूँ और मैं एक जावा विधि है कि एक byte[] एक पैरामीटर के रूप की आवश्यकता है उपयोग करने के लिए की जरूरत है।बाइट बनाएं [] Jython

मैंने कोशिश की:

def randomBytesArray(length): 
    data = [] 
    for _ in xrange(length): 
     data.append(chr(random.getrandbits(8))) 
    methodThatNeedsBytesArrays(data) 

लेकिन मैं इस त्रुटि मिलती है:

TypeError: methodThatNeedsBytesArrays(): 1st arg can't be coerced to byte[] 

उत्तर

3

Jython User Guide जवाब यह: एक स्ट्रिंग का उपयोग

+0

के साथ जावा बाइट सरणी बनाएं, आप यह कैसे करते हैं? – Jeroen

3

कभी कभी तुम एक समारोह के लिए एक बाइट सरणी पास करनी होगी ताकि फ़ंक्शन परिणामस्वरूप बाइट सरणी भर सके। उस स्थिति में, एक पायथन स्ट्रिंग भेजना काम नहीं करेगा क्योंकि पायथन स्ट्रिंग अपरिवर्तनीय हैं। इसके बजाय, jarray module:

import jarray 
bytes = jarray.zeros(100, "b") 
length = zlibDeflater.deflate(bytes) 
...