HEX字符串到中文字符串

时间:2012-05-02 18:08:08

标签: c# string hex cjk

我有以下代码从HEX转换为ASCII。

//Hexadecimal to ASCII Convertion
private static string hex2ascii(string hexString)
{
    MessageBox.Show(hexString);
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i <= hexString.Length - 2; i += 2)
    {
        sb.Append(Convert.ToString(Convert.ToChar(Int32.Parse(hexString.Substring(i, 2), System.Globalization.NumberStyles.HexNumber))));
    }
    return sb.ToString();
}

输入hexString = D3FCC4A7B6FABBB7

输出return =Óüħ¶ú»·

我需要的输出是狱魔耳环,但我得到了Óüħ¶ú»。 如何让它显示正确的字符串?

1 个答案:

答案 0 :(得分:2)

首先,将十六进制字符串转换为byte[],例如使用How do you convert Byte Array to Hexadecimal String, and vice versa?处的代码。然后使用System.Text.Encoding.Unicode.GetString(myArray)(使用正确的编码,可能不是Unicode,但从您的示例判断它是16位编码,顺便说一下,它不是“ASCII”,这是7位)将其转换为一个字符串。