我正在讀取一些數據,包括XML中的CDATA字符串。 XML由linux機器生成,並以utf-8編碼。 XML中的文本是由Windows機器上的人員再次創建的,並且可能包含諸如「和」之類的窗口unicode符號。現在這些符號在整個過程中不知何故被破壞。當我用瀏覽器查看XML時,符號不可見,當我將文本粘貼到Windows編輯器中時,它們顯示爲矩形(無效字符)。當我將它們粘貼到ascii解碼器(http://www.asciivalue.com/index.php)中時,它們會被解開爲正確的HTML表示形式。 („ “)。當我在編輯器中以Unicode格式保存它們時,它們將以84 00 93 00形式出現。Unicode到UTF-8到Unicode?
如何在C#中轉換XML字符串以便這些Unicode符號將被恢復?
注意(1)'asciivalue.com'絕對不適用於除基本ASCII之外的任何字符。對於其他Unicode字符,包括那些智能報價,它會產生不正確和誤導性的輸出。 (2)「Unicode」實際上不是任何編碼的名稱。當像記事本這樣的Microsoft工具可以讓你保存爲「Unicode」時,它們的確意味着UTF-16LE編碼。這種令人誤解的命名有着單調的歷史原因,但通常這種編碼最好避免使用UTF-8。 – bobince