好的,我想要的是将数据写入数据流,并将该输出流发送出去。我可以做得很好。我遇到的问题是如何在字节内部写入各个位,例如:将单个位写入ByteArrayOutputStream
我想将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();
我在正确的轨道上吗?有没有一个非常简单/直接的方法来做到这一点?我必须做很多这样的事情,所以我需要真正理解如何操纵这些字节到我需要的任何地方。
你说你还没有真正测试过你的代码......你为什么不从头开始呢?另外,你是否想要一直工作在大前端? – fge