c#将16进制的字符转换byte数组
时间: 2024-04-08 14:31:04 浏览: 56
在C#中,可以使用`Convert`类和`BitConverter`类来实现将16进制字符转换为字节数组。下面是两种常用的方法:
方法一:使用`Convert`类的`ToByte`方法
```csharp
string hexString = "48656C6C6F"; // 16进制字符串
byte[] byteArray = new byte[hexString.Length / 2];
for (int i = 0; i < byteArray.Length; i++)
{
byteArray[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16);
}
```
方法二:使用`BitConverter`类的`GetBytes`方法
```csharp
string hexString = "48656C6C6F"; // 16进制字符串
byte[] byteArray = new byte[hexString.Length / 2];
for (int i = 0; i < byteArray.Length; i++)
{
byteArray[i] = BitConverter.GetBytes(Convert.ToInt32(hexString.Substring(i * 2, 2), 16))[0];
}
```
这两种方法都可以将16进制字符串转换为对应的字节数组。请注意,上述代码假设输入的16进制字符串是有效的,并且长度是偶数。如果字符串长度不是偶数或者包含无效的字符,需要进行额外的验证和处理。