日期:2014-05-18  浏览次数:20890 次

如何将C#中的string(Unicode) 转换为 AnsiString(ascii)

  如题,string 类型默认是Unicode编码,如何转换为ASCII编码的字符串?请高手支招。谢谢

------解决方案--------------------
Encoding.ASCII ?
------解决方案--------------------
探讨

或者,能直接定义也行

------解决方案--------------------
1、AnsiString不是ASCII string。ASCII是一种单字节编码,而AnsiString是一种多字节编码,某些编码甚至可以表示中文。
2、如果要调用Delphi dll,则是告诉CLR如何封送字符串,比如
[DllImport("...", CharSet=CharSet.Ansi)]
extern static void SayHello(string text);
------解决方案--------------------
如果是Com,一般都会遵守一定的规范,很多情况下C#只要添加Com引用就可以了。
Com传递字符串绝大部分用BStr,而不是AnsiString等等。