我scala.reflect.internal.pickling.ByteCodecs
用来编码一个Array[Byte]
. 有关编码方案的信息可以在这里找到。
一旦数组包含 的值127
,-64,-128, 1
当我希望看到0
(gist)时,我就会在编码字节中看到,并且我无法再解析编码字节。
scala> import scala.reflect.internal.pickling._
import scala.reflect.internal.pickling._
scala> import java.util.Arrays
import java.util.Arrays
scala> val byte = Array[Byte](127)
byte: Array[Byte] = Array(127)
scala> val byteEncoded = ByteCodecs.encode(byte)
byteEncoded: Array[Byte] = Array(-64, -128, 1)
scala> val byteDecoded = Arrays.copyOf(byteEncoded, ByteCodecs.decode(byteEncoded))
byteDecoded: Array[Byte] = Array(127, 0) //this line is as expected
这里发生了什么?
Array[Byte]
如果原始数组包含一个,我怎样才能得到一个正确编码的数组127
?
非常感谢您查看