这是问题所在:
在 C# 中,我从旧的 ACCESS 数据库中获取信息。.NET 在将内容交给我之前将数据库的内容(在此问题中为字符串)转换为 Unicode。
如何将此 Unicode 字符串转换回它的 ASCII 等价物?
编辑
Unicode char 710 确实是 MODIFIER LETTER CIRCUMFLEX ACCENT。这里的问题更精确一点:
-> (Extended) ASCII 字符 ê (Extended ASCII 136) 被插入到数据库中。 -> Access 或 .NET 中的读取组件将其转换为 U+02C6 U+0065 (修饰符字母 CIRCUMFLEX ACCENT + 拉丁文小写字母 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指出正确的方向,我在这里解决了问题。