我在我的C#應用程序操縱Unicode和ASCII字符集在C#
string [,] unicode2Ascii = { { "ஹ", "\x86" } };
&#3001這種映射 - 是泰米爾文字 「ஹ」 的Unicode值。這是MS Word作爲字節序列保存的unicode值的原始十六進制文字。我試圖將這些unicode值「字符串」映射到255以下的十六進制值(以適應非Unicode支持的系統)。
我試圖用與string.replace這樣的:
S = S.replace(unicode2Ascii[0,0], unicode2Ascii[0,1]);
然而得到的輸出中有一個?而不是存儲的實際十六進制0x86。任何關於如何將該數組的第二個元素的編碼設置爲像windows-1252的指針?
或者是否有更好的方法來做這種轉換?
在此先感謝
意圖不是檢索unicode字符的ascii代碼。相反,只需將其替換爲映射表中定義的「some」ascii代碼字符即可。基本上我想看看如何在.NET中將0x86表示爲一個字符串,以便我可以使用string.replace方法替換&#3001文字 – Murlex 2011-01-05 13:42:49
@Murlex我很困惑,因爲您期待什麼結果將泰米爾語文本的unicode文件轉換爲代碼頁1252中的ANSI文件(如問題中所述)。誰是目標受衆? – 2011-01-05 13:58:35
在UNICODE規範出臺之前,我們有一個名爲TSCII的泰米爾代碼頁標準(www.tscii.org)。仍然有一些系統不支持顯示泰米爾unicode字符所需的新形狀引擎。因此,我們有時需要將unicode文本「降級」爲1字節的TSCII標準。 – Murlex 2011-01-05 16:07:53