【发布时间】:2013-09-29 07:46:44
【问题描述】:
我有二进制字符串String A = "1000000110101110"。我想在java中将此字符串转换为长度为2的字节数组
我已经得到this链接的帮助
我尝试通过各种方式将其转换为字节
-
我先将该字符串转换为十进制,然后应用代码存储到字节数组中
int aInt = Integer.parseInt(A, 2); byte[] xByte = new byte[2]; xByte[0] = (byte) ((aInt >> 8) & 0XFF); xByte[1] = (byte) (aInt & 0XFF); System.arraycopy(xByte, 0, record, 0, xByte.length);
但是存储到字节数组中的值是负数
xByte[0] :-127
xByte[1] :-82
哪些是错误的值。
2.我也试过用
byte[] xByte = ByteBuffer.allocate(2).order(ByteOrder.BIG_ENDIAN).putInt(aInt).array();
但它会在上面的行中引发异常
java.nio.Buffer.nextPutIndex(Buffer.java:519) at
java.nio.HeapByteBuffer.putInt(HeapByteBuffer.java:366) at
org.com.app.convert.generateTemplate(convert.java:266)
我现在应该怎么做才能将二进制字符串转换为 2 字节的字节数组?java 中是否有任何内置函数来获取字节数组
【问题讨论】:
标签: java binary byte bytearray binary-data