簡體   English   中英

在Java中設置自定義二進制數據消息的最簡單方法是什么?

[英]What is the easiest way to set custom binary data messages in Java?

來自C#世界並刷新Java,我了解到沒有無符號字節/整數。 我試圖找出構建自定義二進制消息的最簡單方法,例如以下示例:

在此輸入圖像描述

如您所見,某些整數值需要放入3位插槽。 其他值是單位標志或其他大小字段。 根據我的閱讀,我應該在“下一個更大”的原語中工作,例如使用逐位運算符在整數中構建二進制字節。 還有其他方法嗎? 我已經按照我在其他地方找到的一些例子(例如:這個例子與上圖不匹配)來獲得第一個字節結構:

shiftedValue1 = (value1 & 0xFF) << 5;
shiftedValue2 = (Value2 & 0xFF) << 2;
shiftedValue3 = (Value3 & 0xFF) << 1;
shiftedValue4 = (Value4 & 0xFF);
finalvalue = (shiftedValue1 & 0xFF) | (shiftedValue2 & 0xFF) | (shiftedValue3 & 0xFF) | (shiftedValue4 & 0xFF);

有沒有更好的方法來構造這些字節? 我在4字節字段上使用了什么? 多頭?

看起來像這樣使用byte[] (字節數組)或BitSet更容易。

你也許能夠使用ByteBuffer例如如這里 它應該使操作字節數組更容易,特別是考慮到endianess之類的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM