java - 有没有一种方法可以将 1 和 0 的数组转换为字节数组?
问题描述
我有一个 1 和 0 的 96 元素数组(我也可以使用布尔值),我用它来存储游戏中的成就(如果未解锁,则为 0,如果未解锁,则为 1),我想将其编码为 Base64(以“保存”游戏通过将所有成就数据导出到一个短字符串中)。我想先将数组转换为a byte[]
,以便可以使用该encodeToString(byte[] src)
数组上的方法输出字符串。
我怎样才能做到这一点?有没有什么方法可以把一个 8 位的子数组转换成一个字节?这不一定要高效或漂亮。我只是为了好玩而制作这个游戏。
解决方案
我想您应该使用不同的数据结构,例如BitSet
避免直接使用按位运算符的数据结构。
BitSet achievements = new BitSet(96);
achievements.set(41);
byte[] data = achievements.toByteArray();
记住:没有必要重新发明轮子!
推荐阅读
- python - Python server that can act as client too
- regex - Go 中跨越多行的正则表达式
- javascript - Symfony:在 RuntimeException 中使用 put 请求获取路由结果
- mongodb - 使用正则表达式的 Mongo 聚合查询组
- mysql - 将帖子和评论存储在单独的表中或一起
- c# - 正确地将字符串从 C# 编组到 C++
- php - 在初始化配置之前更改存储路径但仍使用 env()
- java - 如何简化在多个字段上创建空安全比较器?
- sharepoint - 使用 OData 筛选器查询从使用 Microsoft Flow 的 Sharepoint 列表中获取具有过期日期的未清项目
- azure - 在 Azure 中运行 POSTMAN 脚本时如何识别 IP 地址