我試圖將Byte數組的Length
發送到我的服務器,以便它知道要讀取多少數據。C#如何將Int表示爲四字節整數
我得到使用int messageLength = message.Length
的Byte[] message
數組的長度如何代表這個整數messageLength
一個四字節的整數?
我試圖將Byte數組的Length
發送到我的服務器,以便它知道要讀取多少數據。C#如何將Int表示爲四字節整數
我得到使用int messageLength = message.Length
的Byte[] message
數組的長度如何代表這個整數messageLength
一個四字節的整數?
使用BitConvertor BitConverter.GetBytes(message.Length);
@ Stalker-Downvoter,足以解釋你的理由嗎? –
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);
在C#字節是8個比特。8位×4個字節= 32位..所以你想使用System.Int32。
您可以使用
int length = message.Length;
BitConvert.GetBytes(length);
http://msdn.microsoft.com/en-us/library/system.bitconverter.aspx
什麼字節順序? – rerun