1

我有以下代码可以从 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();
}

输入十六进制字符串 = D3FCC4A7B6FABBB7

输出返回 = Óüħ¶ú»·

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

4

1 回答 1

3

首先,将十六进制字符串转换为 a byte[],例如使用如何将字节数组转换为十六进制字符串中的代码,反之亦然?. 然后使用System.Text.Encoding.Unicode.GetString(myArray)(使用正确的编码,可能不是 Unicode,但从您的示例来看,它是 16 位编码,顺便说一下,它不是 7 位的“ASCII”)将其转换为字符串。

于 2012-05-02T18:13:30.220 回答