问题如下:
我正在从一个遗留的ACCESS数据库中获取信息,使用C#。 .NET将数据库内容(在这个问题中是字符串)转换为Unicode,然后将其交给我。
如何将这个Unicode字符串转换回它的ASCII等效字符?
编辑
Unicode char 710 确实是 MODIFIER LETTER CIRCUMFLEX ACCENT(修改符号^)。以下是更精确的问题描述:
-> 数据库中插入了一个(扩展)ASCII字符ê(扩展ASCII 136)。 -> Access或.NET中的读取组件将其转换为U+02C6 U+0065(MODIFIER LETTER CIRCUMFLEX ACCENT + LATIN SMALL LETTER E) -> 我需要(扩展)ASCII字符136。
以下是我尝试过的方法(现在我知道为什么这不起作用...):
string myInput = Convert.ToString(Convert.ToChar(710));
byte[] asBytes = Encoding.ASCII.GetBytes(myInput);
但这并不会导致94,而是一个值为63的字节…
这里有一个新的尝试,但它仍然无效:
byte[] bytes = Encoding.ASCII.GetBytes("ê");
解决方案
感谢csgero和bzlm指出了正确的方向,我在这里解决了问题。