C#字符串转16进制
时间: 2024-09-29 14:15:57 浏览: 89
在C#中,可以使用`BitConverter.ToString()`方法将字符串转换为十六进制表示形式。该方法通常用于处理字节序列,但如果字符串只包含数字字符,可以直接转换。以下是例子:
```csharp
string inputString = "HelloWorld"; // 输入的字符串
byte[] bytes = Encoding.ASCII.GetBytes(inputString); // 将字符串转换为字节数组
string hexString = BitConverter.ToString(bytes).Replace("-", ""); // 使用BitConverter并移除短横线
Console.WriteLine($"原始字符串:{inputString}\n十六进制:{hexString}");
```
这段代码首先将字符串转换为字节数组,然后再将其转换为十六进制字符串。注意这里的`Encoding.ASCII.GetBytes()`用于ASCII编码,如果字符串包含其他字符集的编码,则应使用相应的编码方法。
如果你想创建一个自定义函数来简化这个过程,可以这样做:
```csharp
public static string StringToHex(string str)
{
byte[] bytes = Encoding.ASCII.GetBytes(str);
return BitConverter.ToString(bytes).Replace("-", "");
}
// 使用方法
string hexOutput = StringToHex("你好世界");
```
阅读全文