2010-04-02 116 views
4

我必須處理JSON文件看起來像這樣:轉換文本到unicode字符串

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

不幸的是,我不知道這個編碼是如何被調用。

我想將它轉換爲.NET Unicode字符串。簡單的方法是什麼?

回答

2

這是俄文字母的Unicode字符。 試着簡單地把這行放在VisualStudio中,它會解析它。

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

或者,如果你想這個字符串轉換爲另一種編碼,例如UTF8,試試這個代碼:從Convert

採取

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

代碼