【发布时间】:2013-05-31 18:38:10
【问题描述】:
好的,所以我想要将字节写入 dataouptustream 并将该输出流发送出去。我可以做得很好。我遇到的问题是如何在字节内写入各个位,例如:
我想将 LSB (0) 写为 1,然后剩余的 1-7 位应该是 100 的值。或者我希望前 2 LSB (0-1) 为 3,剩余的是 5。这是我迄今为止的尝试(到目前为止,我还没有真正测试过这段代码)。
ByteArrayOutputStream baos=new ByteArrayOutputStream();
DataOutputStream daos=new DataOutputStream(baos);
//LSB should be 0, the remaining should be the value 50
daos.writeByte(50 >>> 1);
//2 LSBs should be 2 (10) and the remaining should be 100
daos.writeByte(Integer.parseInt(Integer.toBinaryString(2) + Integer.toBinaryString(100)));
daos.close();
message = baos.toByteArray();
我在正确的轨道上吗?有没有一种非常简单/直接的方法来做到这一点?我必须做很多这样的事情,所以我需要真正了解如何将这些字节操作为我需要的任何东西。
【问题讨论】:
-
你说你还没有真正测试过你的代码......你为什么不从这样做开始呢?另外,你想一直在大端工作吗?
标签: java