Code Bye

字符串格式的16进制数怎么样存入byte数组中

新手刚接触C#不久,想问下假如一个字符串里假如是16进制的数据“F3AE56FF”,怎么样存入byte[]数组bytes中,例如说bytes[0]=F3,bytes[1]=AE,bytes[2]=56,bytes[3]=FF这样……
解决方案

30

先在左侧填充0,以使字符串长度为偶数位,然后直接按两位长度截取,最后Convert

25

string text = @"F3AE56FF";
if (text.Length % 2 != 0)
{
    text = "0" + text;
}
byte[] bytes = new byte[text.Length / 2];
for (var i = 0; i < text.Length; i += 2)
{
    bytes[i / 2] = Convert.ToByte(text.Substring(i, 2), 16);
}
Console.WriteLine(string.Join(",", bytes));

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明字符串格式的16进制数怎么样存入byte数组中