我有一个96元素的1和0数组(我也可以使用布尔值),用于将成就存储在我想编码为Base64的游戏中(如果未解锁则为0,如果未解锁则为1)通过将所有成就数据导出到短字符串中来“保存”游戏。我想先将数组转换为byte[]
,以便可以在该数组上使用encodeToString(byte[] src)
方法来输出字符串。
我该怎么做?是否有任何方法可以采用8位子数组并将其转换为字节?这不一定是有效的或漂亮的。我只是在玩这个游戏。
答案 0 :(得分:1)
我想您应该使用不同的数据结构,例如BitSet
,这样可以避免直接使用按位运算符。
BitSet achievements = new BitSet(96);
achievements.set(41);
byte[] data = achievements.toByteArray();
请记住:无需重新发明轮子!