我正在将一些东西从 C# 移植到 Java,我需要一个可以将字节转换为原语的类,就像 .NET 中的 BitConverter 一样。
正如我刚刚在此处发布的那样,我注意到我的计算机使用 Little-Endian (Intel) 并且 BitConverter 按预期工作:
// C# code
byte[] b2 = new byte[] { 0, 1 };
short b2short = BitConverter.ToInt16(b2, 0);
b2short == 256 正如预期的那样。
好吧,我需要一个 JAVA 中的“BitConverter”并找到了这段代码。但是,当我在 JAVA 中尝试它时,在我看来,这些方法将字节数组解释为 Big-Endian。JAVA代码:
// JAVA code
byte[] b2 = new byte[] { 0, 1 };
short b2short = MyFoundConverter.BitConverter.toShort(b2, 0);
在这种情况下,b2short == 1 在我看来就像 Big-Endian。
此网页上的代码是否将字节数组解释为 Big-Endian?
如果是这样,是否有一种简单的方法可以使它成为 Little-Endian?