8位字节转换

时间:2013-09-24 03:16:37

标签: java arrays byte concatenation

我正在尝试将8个整数(0或1)的数组转换为java字节类型。

e.g。

 [1,0,1,0,0,0,1,0] = 10100010

我尝试在线搜索,也许我没有输入正确的查询?提前谢谢!

2 个答案:

答案 0 :(得分:3)

对于读取数组的特定索引,使用BitSetset() true / false,然后将其转换为字节数组

答案 1 :(得分:0)

你可以试试这个

    byte[] bits = { 1, 0, 1, 0, 0, 0, 1, 0 };
    byte b = 0;
    for (int i = 0, m = 0x80; i < 8; i++, m >>= 1) {
        if (bits[i] == 1) b |= m;
    }

或这一行解决方案

byte b = (byte) Integer.parseInt(Arrays.toString(bits).toString().replaceAll("\\D", ""), 2);