在Jython中创建byte []

时间:2012-07-30 18:03:53

标签: bytearray jython

我正在使用Jython进行开发,我需要使用需要byte[]作为参数的Java方法。

我试过了:

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[]

2 个答案:

答案 0 :(得分:4)

Jython User Guide回答它:使用字符串

答案 1 :(得分:4)

有时你需要将一个字节数组传递给一个函数,这样函数就会用结果填充字节数组。在这种情况下,发送Python字符串不会起作用,因为Python字符串是不可变的。而是使用jarray module创建一个Java字节数组:

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