【问题标题】:8 digit byte conversion8位字节转换
【发布时间】:2013-09-29 03:00:27
【问题描述】:

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

例如

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

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

【问题讨论】:

    标签: java arrays byte concatenation


    【解决方案1】:

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

    【讨论】:

    • 太棒了,这正是我想要的。谢谢!当我能够接受时,我会接受答案。
    • hm 所以我正在尝试做 bitset.set(7);它给了我一个意外的类型错误。有什么建议吗?
    【解决方案2】:

    你可以试试这个

        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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-15
      • 2010-12-24
      • 1970-01-01
      • 1970-01-01
      • 2021-06-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多