c#字符串转16进制
时间: 2023-08-26 13:13:09 浏览: 51
你可以使用以下代码将 C# 中的字符串转换为十六进制:
```csharp
string str = "Hello World";
byte[] bytes = Encoding.Default.GetBytes(str);
string hexString = BitConverter.ToString(bytes).Replace("-", "");
Console.WriteLine(hexString);
```
这段代码将字符串转换为字节数组,然后使用 BitConverter 将字节数组转换为十六进制字符串。最后,使用 Replace 方法去除字符串中的连字符。输出结果将会是 "48656C6C6F20576F726C64"。
相关问题
C# 字符串转 16进制
在C#中,可以使用以下代码将字符串转换为16进制:
```csharp
string str = "hello world";
byte[] bytes = Encoding.Default.GetBytes(str);
string hex = BitConverter.ToString(bytes).Replace("-", "");
```
这里的 `Encoding.Default.GetBytes(str)` 将字符串转换为字节数组,`BitConverter.ToString(bytes)` 将字节数组转换为16进制字符串,`Replace("-", "")` 则是将其中的 "-" 去掉。
如果你需要将16进制字符串转换回原始字符串,可以使用以下代码:
```csharp
string hex = "68656C6C6F20776F726C64";
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);
}
string str = Encoding.Default.GetString(bytes);
```
这里的 `Convert.ToByte(hex.Substring(i * 2, 2), 16)` 将每两个字符转换为一个字节,最后使用 `Encoding.Default.GetString(bytes)` 将字节数组转换为字符串。
C# 字符串转16进制
可以使用以下代码将 C# 字符串转换为 16 进制字符串:
```csharp
string str = "Hello, world!";
byte[] bytes = Encoding.Default.GetBytes(str); // 将字符串转换为字节数组
string hex = BitConverter.ToString(bytes).Replace("-", ""); // 将字节数组转换为 16 进制字符串
Console.WriteLine(hex); // 输出 48656C6C6F2C20776F726C6421
```
这里使用了 `Encoding.Default` 将字符串转换为字节数组,然后使用 `BitConverter.ToString()` 将字节数组转换为 16 进制字符串。最后通过 `String.Replace()` 方法去掉字符串中的分隔符 `-`。