HEX 转 UTF8 c#
时间: 2023-12-14 16:34:34 浏览: 154
以下是C#中将HEX转换为UTF8的示例代码:
```csharp
// 将HEX字符串转换为byte数组
byte[] bytes = Enumerable.Range(0, hexString.Length)
.Where(x => x % 2 == 0)
.Select(x => Convert.ToByte(hexString.Substring(x, 2), 16))
.ToArray();
// 将byte数组转换为UTF8编码的字符串
string utf8String = Encoding.UTF8.GetString(bytes);
```
其中,`hexString`是输入的HEX字符串,`utf8String`是输出的UTF8编码的字符串。
相关问题
C#写一个字符16进制转10进制的方法,写一个字符16进制转utf-8的方法
字符16进制转10进制的方法:
```csharp
public static int HexToDecimal(char hexChar)
{
int result = 0;
if (hexChar >= '0' && hexChar <= '9')
{
result = hexChar - '0';
}
else if (hexChar >= 'a' && hexChar <= 'f')
{
result = hexChar - 'a' + 10;
}
else if (hexChar >= 'A' && hexChar <= 'F')
{
result = hexChar - 'A' + 10;
}
return result;
}
```
字符16进制转utf-8的方法:
```csharp
public static string HexToUtf8(string hexString)
{
byte[] bytes = new byte[hexString.Length / 2];
for (int i = 0; i < hexString.Length; i += 2)
{
bytes[i / 2] = (byte)((HexToDecimal(hexString[i]) << 4) | HexToDecimal(hexString[i + 1]));
}
return Encoding.UTF8.GetString(bytes);
}
```
这里需要用到之前写的字符16进制转10进制的方法。将每两个字符转为一个byte,然后使用UTF-8编码将byte数组转为字符串。
c#16进制字符串(UTF8)转字符串
你可以使用C#的`Encoding`类中的`GetString`方法将UTF8编码的16进制字符串转换为字符串。首先,你需要将16进制字符串转换为字节数组,然后使用`Encoding.UTF8.GetString`方法将字节数组转换为字符串。下面是一个示例代码:
```csharp
using System;
using System.Text;
public class Program
{
public static void Main()
{
string hexString = "E4BD" + "A0E5" + "A5BD";
string result = HexToUtf8String(hexString);
Console.WriteLine(result);
}
public static string HexToUtf8String(string hexString)
{
byte[] bytes = new byte = Convert.ToByte(hexString.Substring(i, 2), 16);
}
return Encoding.UTF8.GetString(bytes);
}
}
```
在上面的代码中,我们将16进制字符串`"E4BD" + "A0E5" + "A5BD"`作为示例输入,然后通过`HexToUtf8String`方法将其转换为UTF8编码的字符串。输出结果为`你好`。
希望能对你有所帮助!如果有任何问题,请随时问我。
阅读全文