Estoy tratando de pasar una cadena binaria en JRuby como una byte[]
a través de alguna biblioteca Java y en JRuby nuevamente, donde quiero convertirla nuevamente en una cadena, pero no puede entender cómo hacerlo sin que la cuerda se ensucie.Convertir cadena JRuby a matriz de bytes Java, y viceversa
Específicamente estoy codificando un hash Ruby como BSON y pasándolo sobre AMQP, pero es la conversión ay de byte[]
que no funciona. Este código
import org.jruby.RubyString
blob = BSON.serialize({'test' => 123123123123}).to_s
p blob
p RubyString.bytes_to_string(RubyString.string_to_bytes(blob))
salidas
"\x13\x00\x00\x00\x12test\x00\xB3\xC3\xB5\xAA\x1C\x00\x00\x00\x00"
"\x13\x00\x00\x00\x12test\x00\xC2\xB3\xC3\x83\xC2\xB5\xC2\xAA\x1C\x00\x00\x00\x00"
también he intentado
java.lang.String.new(blob.to_java.bytes).to_s
pero da salida a la misma, mal, cadena.
¿Hay alguna forma más fácil/segura de convertir ay desde una cadena JRuby y byte[]
?