簡體   English   中英

字節數組到int C#

[英]Byte array to int C#

我是triyng將字節數組轉換為int值但是我得到一個異常:

“目標數組的長度不足以復制集合中的所有項目。檢查數組索引和長度。”

例外是在線:

int length = BitConverter.ToInt32(bytes_length, 0);

byte _length包含值(0x00,0x09);

這是我的代碼:

byte[] bytes_length = new byte[Value_of_length];                   
//copy the byte byte array to the correct length.
Array.Copy(data, Place_of_length, bytes_length, 0,bytes_length.Length
int length = BitConverter.ToInt32(bytes_length, 0);

Int32需要32位或4個字節。 您的數組只包含兩個字節,這意味着您無法將其轉換為Int32

您可以將其轉換為Int16

int length = BitConverter.ToInt16(bytes_length, 0);

或者在Int32轉換之前將兩個以上的字節擴展到數組。

此外,您可以完全跳過復制:

int length = BitConverter.ToInt16(data, Place_of_length);

暫無
暫無

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

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