C# 字符串转十六进制
时间: 2023-09-20 20:09:34 浏览: 87
在 C# 中,可以使用 `BitConverter.ToString()` 方法将字符串转换为十六进制字符串。以下是示例代码:
```csharp
string str = "hello world";
byte[] bytes = Encoding.Default.GetBytes(str);
string hex = BitConverter.ToString(bytes).Replace("-", "");
Console.WriteLine(hex);
```
输出结果为:`68656C6C6F20776F726C64`
其中,`Encoding.Default.GetBytes(str)` 将字符串转换为字节数组,`BitConverter.ToString(bytes)` 将字节数组转换为十六进制字符串,`Replace("-", "")` 是为了去除字符串中的连字符。
相关问题
c# 二进制字符串转十六进制字符串
在 C# 中,你可以通过 `BitConverter` 类将二进制字符串转换为十六进制字符串。以下是一个简单的示例:
```csharp
using System;
using System.Text;
public string BinaryToHex(string binaryString)
{
byte[] bytes = new byte[binaryString.Length / 8];
for (int i = 0; i < binaryString.Length; i += 8)
{
int value = Convert.ToInt32(binaryString.Substring(i, 8), 2);
bytes[i / 8] = (byte)value;
}
return BitConverter.ToString(bytes).Replace("-", "");
}
```
这个函数首先创建一个字节数组,然后按照每8位二进制组成一个整数,并将其存储到字节数组中。接着,它使用 `BitConverter.ToString()` 将字节数组转换为十六进制字符串。最后,删除结果中的短横线 `-`,因为它们不是有效的十六进制字符。
如果你想测试一下,可以这样调用该函数:
```csharp
string binaryString = "0101010101010101";
string hexString = BinaryToHex(binaryString);
Console.WriteLine(hexString); // 输出 "0D0D0D0D"
C#将十六进制字符串转十进制
可以使用Convert类的静态方法ToInt32来将十六进制字符串转换为十进制整数。
具体实现代码如下:
```
string hexString = "1A"; // 十六进制字符串表示的十进制整数26
int result = Convert.ToInt32(hexString, 16);
```
解释一下代码:
首先定义一个十六进制字符串表示的十进制整数,例如26的十六进制表示为1A。
然后使用Convert.ToInt32方法将十六进制字符串转换为十进制整数。第一个参数是要转换的字符串,第二个参数指定字符串的进制,这里为16表示十六进制。
执行完上述代码,result变量的值应该为26。
阅读全文