簡體   English   中英

C#:使用int和hex值創建一個字節數組

[英]C#: Create an byte array with int and hex values

我需要用十六進制和整數值創建一個字節數組。

例如:

int value1 = 13;
int value2 = 31;
byte[] mixedbytes = new byte[] {0x09, (byte)value1, (byte)value2};

問題:31轉換為0x1F。 它應該是0x31。 我試圖將int值轉換為字符串,然后再轉換回字節,但這並不能解決問題。 整數不得超過兩位數。

嘗試這個:

int value1 = 0x13;
int value2 = 0x31;
byte[] mixedbytes = new byte[] { 0x09, (byte)value1, (byte)value2 };

另外,您似乎不了解十進制和十六進制之間的轉換。 十進制的31是十六進制的1F,期望更好地理解十進制和十六進制之間的轉換是不好的期望,請在此處查看: http : //www.wikihow.com/Convert-from -十進制到十六進制

我想你可以試試這個方法

    string i = "10";
    var b =  Convert.ToByte(i, 16)

在這種方法中10將被存儲為0x10

這種格式通常稱為二進制編碼的十進制(BCD)。 這個想法是字節中的每個半字節都包含一個十進制數字。

在C#中,您可以非常輕松地進行此轉換:

var number = 31;
var bcd = (number / 10) * 16 + (number % 10);

暫無
暫無

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

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