C#十六进制到char

OMG*_*sen 10 c#

我有一个长度为4的十六进制字符串,例如"003a".

将此转换为char的最佳方法是什么?首先转换为字节,然后转换为char?

Mar*_*rco 22

试试这个:

(char)Int16.Parse("003a", NumberStyles.AllowHexSpecifier);
Run Code Online (Sandbox Code Playgroud)

要么

System.Convert.ToChar(System.Convert.ToUInt32("003a", 16));
Run Code Online (Sandbox Code Playgroud)

要么

string str = "";
for(int i = 0; i<myHex.Length; i += 4)
    str += (char)Int16.Parse(myHex.Substring(i, 4), 
                             NumberStyles.AllowHexSpecifier);
Run Code Online (Sandbox Code Playgroud)


tol*_*n64 7

2020年我会这样做

char c = (char)0x3A;
Run Code Online (Sandbox Code Playgroud)

如果我需要它作为一个字符串用于删除不可打印的字符,它会像这样

s = s.Replace($"{(char)0x3A}", ""));
Run Code Online (Sandbox Code Playgroud)