这是问题所在:在C#中,我从旧的ACCESS数据库中获取信息。在将内容交给我之前,.NET将数据库的内容(在这种情况下为字符串)转换为Unicode。如何将该Unicode字符串转换回等效的ASCII?编辑Unicode char 710确实是MODIFIER LETTER CIRCUMFLEX ACCENT。这是更精确的问题: ->(扩展)ASCII字符ê(扩展ASCII 136)已插入数据库中。 -> Access或.NET中的阅读组件都将其转换为U + 02C6 U + 0065 (修饰符大写字母重音+拉丁文小写字母E) ->我需要返回(扩展)ASCII字符136。这是我尝试过的方法(现在我知道为什么它不起作用了……):string myInput = Convert.ToString(Convert.ToChar(710));byte[] asBytes = Encoding.ASCII.GetBytes(myInput);但这不会产生94,而是一个值63的字节。这是一个新尝试,但仍然无法正常工作:byte[] bytes = Encoding.ASCII.GetBytes("ê");
3 回答

肥皂起泡泡
TA贡献1829条经验 获得超6个赞
您不能在此处使用默认的ASCII编码(Encoding.ASCII),但必须使用Encoding.GetEncoding(...)使用适当的代码页创建编码。您可能会尝试使用代码页1252,它是ISO 8859-1的超集。
- 3 回答
- 0 关注
- 468 浏览
添加回答
举报
0/150
提交
取消