我在我的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