我有一个文件里面是D886A225C5CB8B961D3636A68DEDEB80,我先把它转化为Byte[],值是0xD8,0X86...这样的,应该怎么做,用C#
时间: 2024-09-09 17:03:04 浏览: 58
在C#中,你可以通过将十六进制字符串转换为字节数组来进行这种操作。这里是一个简单的步骤:
1. 首先,你需要创建一个`StringBuilder`来存储每个十六进制字符对应的ASCII码,因为十六进制对应4位二进制,所以需要两个连续的十六进制数字代表一个字节。
```csharp
string hexString = "D886A225C5CB8B961D3636A68DEDEB80";
StringBuilder byteBuilder = new StringBuilder();
```
2. 然后遍历这个十六进制字符串,每两位作为一个字节处理:
```csharp
for (int i = 0; i < hexString.Length; i += 2)
{
string hexPair = hexString.Substring(i, 2);
byteBuilder.Append((byte)Convert.ToInt32(hexPair, 16));
}
```
3. 最后,得到的`StringBuilder`内容就是字节数组了,可以将其转换为`byte[]`:
```csharp
byte[] byteArray = byteBuilder.ToByteArray();
```
完整的代码示例:
```csharp
using System.Text;
string hexString = "D886A225C5CB8B961D3636A68DEDEB80";
StringBuilder byteBuilder = new StringBuilder();
for (int i = 0; i < hexString.Length; i += 2)
{
string hexPair = hexString.Substring(i, 2);
byteBuilder.Append((byte)Convert.ToInt32(hexPair, 16));
}
byte[] byteArray = byteBuilder.ToByteArray();
```
阅读全文