在Jython中创建byte []

iom*_*tin 6 jython bytearray

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

我试过了:

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

但我得到这个错误:

TypeError: methodThatNeedsBytesArrays(): 1st arg can't be coerced to byte[]
Run Code Online (Sandbox Code Playgroud)

Jim*_*ski 5

有时您需要将字节数组传递给函数,以便函数将结果填充字节数组。在这种情况下,发送 Python 字符串将不起作用,因为 Python 字符串是不可变的。相反,使用jarray 模块创建一个 Java 字节数组:

import jarray
bytes = jarray.zeros(100, "b")
length = zlibDeflater.deflate(bytes)
...
Run Code Online (Sandbox Code Playgroud)