如何将Unicode字符转换为其等效的ASCII

这是问题所在:


在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("ê");


jeck猫
浏览 469回答 3
3回答

肥皂起泡泡

您不能在此处使用默认的ASCII编码(Encoding.ASCII),但必须使用Encoding.GetEncoding(...)使用适当的代码页创建编码。您可能会尝试使用代码页1252,它是ISO 8859-1的超集。
打开App,查看更多内容
随时随地看视频慕课网APP