如何将二进制字符串转换为java中2字节的字节数组
发布时间:2020-12-14 05:54:47 所属栏目:Java 来源:网络整理
导读:我有二进制字符串String A =“1000000110101110”.我想在 java中将此字符串转换为长度为2的字节数组 我已经采取了this链接的帮助 我试图通过各种方式将其转换为字节 我先将该字符串转换为十进制,然后将代码应用于存储到字节数组中 int aInt = Integer.parseI
我有二进制字符串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,record,xByte.length); 但是存储到字节数组中的值是负数 xByte[0] :-127 xByte[1] :-82 哪个是错误的值. 我也试过用 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中是否有任何内置函数来获取字节数组 解决方法
你得到的答案
xByte[0] :-127 xByte[1] :-82 是正确的. 这被称为2的赞美Represantation. 0 for +ve 1 for -ve 如果第1位为0,则计算为常规位. 在你的情况下 有关详细信息,请参阅2的补码表示. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |