我覺得我在回答這個問題的兩個步驟,但有些事情讓我感到困惑。我正在通過TCP/IP和byte []的方式進行一些通信。是byte []的byte.length()的最大大小還是實際大小?
所以我開始構建我的byte []數組,並且第三個字節需要byte []的長度。如果我這樣宣佈我的字節;
byte[] bytesToSend = new byte[119];
,然後與數據的前三個字節填充..
bytesToSend[0] = 0x40;
bytesToSend[1] = 0x40;
bytesToSend[2] = Encoding.ASCII.GetBytes(bytesToSend.Length.ToString())[0];
最後只是打印出來的第三字節,其中應含有的長度;
MessageBox.Show(BitConverter.ToString(bytesToSend));
我應該期待它返回119的字節大小還是隻是最大大小?目前它返回十六進制「0x31」,就我所知,它不等於119或3.這無疑是一些簡單的/基本的東西,我錯過了,但是有人能指出我正確的方向嗎?
爲什麼在同一個'byte []'中放置'byte []'的長度是沒有意義的。它應該是單獨的和/或你應該總是使用相同大小的數組。 –
呃,我需要將字節的長度放在同一個字節內,因爲這是第三方設備的協議?我可以給你他們的電話號碼,如果你想打電話給他們詢問? –
@Rhhound顯然他在消息長度上需要的是什麼,而不是'byte []'的長度。 – Rotem