如何将字节数据转换为位并再次转换回字节?
1 字节 = 8 位。 我必须在 120 位上工作。所以 15 字节。 这120位的形式将是00010101000000………… 所以 00010101 的每 8 位是 1 个字节。 所以我想对其进行某种修改操作,然后将所有字节加回来。字节会存储在字节数组中吗?
1 Byte = 8 bits.
I have to work on 120 bits. So 15 Byte.
This 120 bits will be in the form of 00010101000000............
So each 8 bit that is 00010101 is 1 Byte.
So I want do some kind of modification operation on that and then add up all the Bytes back. Will the Bytes be stored in an Byte array?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果你有大量的位,你可以使用 BitSet。您可以使用 byte[] 或 long[] ,这并不重要,因为它们最后都是由位组成的。使用 byte[] 不会使对象比 long[] 小,因为大多数 JVM 对对象使用 8 字节边界。 long[] 对于某些操作来说更有效。
If you have a large number of bits you could use BitSet. You can use byte[] or long[] it doesn't matter as they are all made up of bits in the end. Using a byte[] won't make the object any smaller than a long[] as most JVMs use 8-byte boundaries for objects. A long[] is more efficent for some operations.
字节数组是个好主意。但这取决于你如何存储它们......
Byte array is a good idea. But it is up to you how to store them...
将流拆分为 8 位块,并对每个块使用 Byte.valueOf(String, int)。
Split the stream in 8 bit chunks and use Byte.valueOf(String, int) for each chunk.
如何存储字节取决于您。
您可以使用像 & 这样的位操作来修改字节。和|。
例如:
It is up to you how you will store the bytes.
You can modify bytes using bits operations like & and |.
For ex.: