C# 将十六进制字符串转换回字符

C# 将十六进制字符串转换回字符,c#,.net,hex,C#,.net,Hex,我知道-有很多关于这方面的话题,但即使我仔细研究了其中的一些,也无法找到解决方案。。 我将字符转换为十六进制,如下所示: char c = i; int unicode = c; string hex = string.Format("0x{0:x4}", unicode); 问题:如何将十六进制转换回字符?您可以尝试: hex = hex.Substring(2); // To remove leading 0x int num = int.Parse(hex, NumberStyles.A

我知道-有很多关于这方面的话题,但即使我仔细研究了其中的一些,也无法找到解决方案。。 我将字符转换为十六进制,如下所示:

char c = i;
int unicode = c;
string hex = string.Format("0x{0:x4}", unicode);
问题:如何将十六进制转换回字符?

您可以尝试:

hex = hex.Substring(2); // To remove leading 0x
int num = int.Parse(hex, NumberStyles.AllowHexSpecifier);
char cnum = (char)num;

你问的是十六进制字符串吗?是的,我想把“字符串十六进制”转换回charThanks@Oded,我没有看到前导“0x”,这是我的错误。
using System;
using System.Globalization;

class Sample {
    static void Main(){
        char c = 'あ';
        int unicode = c;
        string hex = string.Format("0x{0:x4}", unicode);
        Console.WriteLine(hex);
        unicode = int.Parse(hex.Substring(2), NumberStyles.HexNumber);
        c = (char)unicode;
        Console.WriteLine(c);
    }
}