Вопрос по c#, string – HEX String для китайской строки

1

У меня есть следующий код для преобразования из HEX в ASCII.

<code>//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();
}
</code>

input hexString = D3FCC4A7B6FABBB7

output return = & # xD3; & # xFC; & # xC4; & # xA7; & # xB6; & # xFA; & # xBB; & # xB7;

Мне нужен выходной файл & # x72F1; & # x9B54; & # x8033; & # x73AF ;, но я получаю & # xD3; & # xFC; & # xC4; & # xA7; & # xB6; & # xFA ; & # Xbb; & # xB7; вместо. Как бы я сделал так, чтобы отображалась правильная строка?

Ваш Ответ

1   ответ
2

byte[]например, используя код вКак преобразовать массив байтов в шестнадцатеричную строку и наоборот?, Тогда используйтеSystem.Text.Encoding.Unicode.GetString(myArray) (используйте правильное кодирование, возможно, это не Unicode, но, исходя из вашего примера, это 16-битная кодировка, которая, кстати, не является "ASCII", то есть 7-битной), чтобы преобразовать ее в строку.

Error: User Rate Limit Exceeded Alan Alvarez

Похожие вопросы