有没有一种方法可以将1和0的数组隐式转换为字节数组?

时间:2020-01-26 22:42:56

标签: java arrays byte bit

我有一个96元素的1和0数组(我也可以使用布尔值),用于将成就存储在我想编码为Base64的游戏中(如果未解锁则为0,如果未解锁则为1)通过将所有成就数据导出到短字符串中来“保存”游戏。我想先将数组转换为byte[],以便可以在该数组上使用encodeToString(byte[] src)方法来输出字符串。

我该怎么做?是否有任何方法可以采用8位子数组并将其转换为字节?这不一定是有效的或漂亮的。我只是在玩这个游戏。

1 个答案:

答案 0 :(得分:1)

我想您应该使用不同的数据结构,例如BitSet,这样可以避免直接使用按位运算符。

BitSet achievements = new BitSet(96);
achievements.set(41);
byte[] data = achievements.toByteArray();

请记住:无需重新发明轮子!