我创建了一个简单的应用程序,如下所示:
String stringValue = new String(new byte[] { 0x00, 0x00, 0x00, 0x25 }, "273");
byte[] valueEncoded = Arrays.copyOfRange(stringValue.getBytes("273"), 0, 4);
int finalResult = ByteBuffer.wrap(valueEncoded).getInt();
System.out.println("Result: "+finalResult);
我希望结果是 37,但结果是 21。怎么会?我错过了什么吗?或者我的方法不是它应该的方式,因此会弹出这个错误?
我尝试了许多其他数字,似乎一切正常......如您所见,我使用的是代码页 273 (IBM)。