将文本转换为unicode字符串

时间:2010-04-02 12:17:09

标签: c# .net unicode text

我必须处理如下所示的JSON文件:

\u0432\u043b\u0430\u0434\u043e\u043c <b>\u043f\u0443\u0442\u0438\u043c<\/b> \u043d\u0430\u0447

不幸的是,我不确定如何调用此编码。

我想将其转换为.NET Unicode字符串。什么是简易方法呢?

1 个答案:

答案 0 :(得分:2)

这是俄语字母的Unicode字符。 尝试将此行放在VisualStudio中,它将解析它。

string unicodeString = "\u0432\u043b\u0430\u0434\u043e\u043c";

或者如果您想将此字符串转换为其他编码,例如utf8,请尝试以下代码:

static void Main()
    {
        string unicodeString = "\u0432\u043b\u0430\u0434\u043e\u043c <b>\u043f\u0443\u0442\u0438\u043c<\b> \u043d\u0430\u0447";
        // Create two different encodings.
        Encoding utf8 = Encoding.UTF8;
        Encoding unicode = Encoding.Unicode;

        // Convert the string into a byte[].
        byte[] unicodeBytes = unicode.GetBytes(unicodeString);

        // Perform the conversion from one encoding to the other.
        byte[] utf8Bytes = Encoding.Convert(unicode, utf8, unicodeBytes);

        // Convert the new byte[] into a char[] and then into a string.
        // This is a slightly different approach to converting to illustrate
        // the use of GetCharCount/GetChars.
        char[] asciiChars = new char[utf8.GetCharCount(utf8Bytes, 0, utf8Bytes.Length)];
        utf8.GetChars(utf8Bytes, 0, utf8Bytes.Length, asciiChars, 0);
        string asciiString = new string(asciiChars);

        // Display the strings created before and after the conversion.
        Console.WriteLine("Original string: {0}", unicodeString);
        Console.WriteLine("Ascii converted string: {0}", asciiString);
        Console.ReadKey();
    }

代码来自Convert