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

解决方案 »

  1.   

    不知道是不是你要的 string unicodestring = "1234";
     byte[] byteunicode = Encoding.Unicode.GetBytes(unicodestring);
     string ASCIIstring = Encoding.ASCII.GetString(byteunicode);你最好给个样本数据
      

  2.   

    1、AnsiString不是ASCII string。ASCII是一种单字节编码,而AnsiString是一种多字节编码,某些编码甚至可以表示中文。
    2、如果要调用Delphi dll,则是告诉CLR如何封送字符串,比如
    [DllImport("...", CharSet=CharSet.Ansi)]
    extern static void SayHello(string text);
      

  3.   

    总算有点相关的,我要调Delphi的Com, delphi 中的函数都是string类型的,返回也是string类型的,可是到了C#中就乱了套了。
      

  4.   

    如果是Com,一般都会遵守一定的规范,很多情况下C#只要添加Com引用就可以了。
    Com传递字符串绝大部分用BStr,而不是AnsiString等等。
      

  5.   

    顶楼主,也提相关问题:
    如何在C#中将AnsiString的字符串转换为Unicode字符串,其内容意义不变.
    比如:AnsiString:"楼主",转换为Unicode显示仍是"楼主",而非乱码