Ruby 将 Java 字节缓冲区对象转换为字符串
Ruby Convert a Java Byte Buffer object to String
嗨,我在 ruby 中有一个对象,它的类型是 Byte ByteBuffer
对象类型:java.nio.HeapByteBuffer[pos=0 lim=437 cap=437]
我想convert/decode把这个对象变成ruby
中的String
有 String.from_java_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
嗨,我在 ruby 中有一个对象,它的类型是 Byte ByteBuffer
对象类型:java.nio.HeapByteBuffer[pos=0 lim=437 cap=437]
我想convert/decode把这个对象变成ruby
中的String有 String.from_java_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