Ruby on rails Ruby将Java字节缓冲区对象转换为字符串

Ruby on rails Ruby将Java字节缓冲区对象转换为字符串,ruby-on-rails,byte,jruby,bytebuffer,jrubyonrails,Ruby On Rails,Byte,Jruby,Bytebuffer,Jrubyonrails,嗨,我在ruby中有一个Byte ByteBuffer类型的对象 对象类型:java.nio.HeapByteBuffer[pos=0 lim=437 cap=437] 我想将此对象转换/解码为ruby中的字符串。有字符串。从\u java\u bytes扩展名,但它不需要(可选)偏移量和长度,因此首先将缓冲区的内容复制到新的byte[]数组中: >> bytes = Java::byte[buffer.limit].new => byte[0, 0, 0]@3427b02d

嗨,我在ruby中有一个Byte ByteBuffer类型的对象

对象类型:java.nio.HeapByteBuffer[pos=0 lim=437 cap=437]


我想将此对象转换/解码为ruby中的字符串。有
字符串。从\u java\u bytes
扩展名,但它不需要(可选)偏移量和长度,因此首先将缓冲区的内容复制到新的
byte[]
数组中:

>> bytes = Java::byte[buffer.limit].new
=> byte[0, 0, 0]@3427b02d
>> buffer.get(bytes)
=> #<Java::JavaNio::HeapByteBuffer:0x3967e60c>
>> bytes
=> byte[102, 111, 111]@3427b02d
>> String.from_java_bytes bytes
>bytes=Java::byte[buffer.limit]。新建
=>字节[0,0,0]@3427b02d
>>buffer.get(字节)
=> #
>>字节
=>字节[102111111]@3427b02d
>>String.from_java_字节