c# 十六进制转为字符串
时间: 2024-09-14 19:10:19 浏览: 121
String(含Hex)与Byte数组互相转换[代码]
在C#中,将十六进制转换为字符串通常可以通过`System.Text.Encoding`类提供的方法来完成。这涉及到将字节数组转换为字符串,因为十六进制数通常表示为字节序列。以下是一个简单的转换示例:
```csharp
using System;
using System.Text;
public class HexToStringConverter
{
public static string HexToString(string hex)
{
// 移除十六进制字符串的前缀,如果存在
hex = hex.Replace("0x", "");
// 将十六进制字符串转换为字节数组
byte[] bytes = new byte[hex.Length / 2];
for (int i = 0; i < bytes.Length; i++)
{
// 每两个十六进制字符表示一个字节
bytes[i] = Convert.ToByte(hex.Substring(i * 2, 2), 16);
}
// 将字节数组转换为字符串
return Encoding.UTF8.GetString(bytes);
}
}
class Program
{
static void Main()
{
string hexString = "48656C6C6F"; // 例如 "Hello" 的十六进制表示
string result = HexToStringConverter.HexToString(hexString);
Console.WriteLine(result); // 输出: Hello
}
}
```
这段代码首先定义了一个`HexToStringConverter`类,其中包含一个`HexToString`方法。该方法接收一个表示十六进制数的字符串参数,去除了可能存在的"0x"前缀,然后将其分割成字节,并使用`Convert.ToByte`将每两个字符转换为一个字节。最后,使用`Encoding.UTF8.GetString`方法将字节数组转换为字符串。
阅读全文