2012-07-30 11 views
5

Estoy desarrollando con Jython y necesito usar un método Java que requiera un byte[] como parámetro.Crear byte [] en Jython

me trataron:

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

pero me sale este error:

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

Respuesta

3

A veces lo necesario para pasar una matriz de bytes a una función para que la función llene la matriz de bytes con un resultado. En ese caso, enviar una cadena de Python no funcionará porque las cadenas de Python son inmutables. En su lugar, cree una matriz de bytes Java con el jarray module:

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