python中的java bytebuffer getint?

67up9zun  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(256)
byte[] obyteArray = new byte[4];
String str = "testing";
try{
    obyteArray = str.getBytes("UTF-8");
}catch(java.io.UnsupportedEncodingException e){    
}
int vi1 = ByteBuffer.wrap(obyteArray).getInt();
System.out.println(vi1);

返回1952805748
但是在py

elements = b"testing"
values = bytearray(elements)
print(int.from_bytes(values, 'big'))

返回32762643847111

w9apscun

w9apscun1#

byte[] obyteArray = new byte[4];
    String str = "testing";
    try{
        obyteArray = str.getBytes("UTF-8");

在原稿上面的陈述之后 oByteArray 被丢弃,并且 oByteArray 是对不同7字节数组的引用。

}catch(java.io.UnsupportedEncodingException e){    
    }
    int vi1 = ByteBuffer.wrap(obyteArray).getInt();
``` `vi1` 现在是前4个字节( `'test'` )重新解释为 `int` .

System.out.println(vi1);

这就是结果不同的原因。

相关问题