2011-10-25 49 views
0

我試圖將Byte數組的Length發送到我的服務器,以便它知道要讀取多少數據。C#如何將Int表示爲四字節整數

我得到使用int messageLength = message.Length

Byte[] message數組的長度如何代表這個整數messageLength一個四字節的整數?

+0

什麼字節順序? – rerun

回答

6

使用BitConvertor BitConverter.GetBytes(message.Length);

+0

@ Stalker-Downvoter,足以解釋你的理由嗎? –

0
message[0] = length & 0xFF; 
message[1] = (length >> 8) & 0xFF; 
message[2] = (length >> 16) & 0xFF; 
message[3] = (length >> 24) & 0xFF; 

要恢復它...

int length = message[0] | (message[1] << 8) | (message[2] << 16) | (message[3] << 24); 
0

在C#字節是8個比特。8位×4個字節= 32位..所以你想使用System.Int32。