详见下面两个转换函数!
http://yang.dl2004.com/702922/dispbbs.asp?boardID=9&ID=496
如有不明再与我联系,QQ:184699002

解决方案 »

  1.   

    试试一下代码:
    using System;
    using System.Text;
    Encoding ecGB = Encoding.GetEncoding("gb2312");
    string str = ecGB.GetString(new byte[]{0x61, 0xd6, 0xd0, 0xb9, 0xfa, 0x62});
    Console.WriteLine(str);
    byte[] uniBytes = Encoding.Unicode.GetBytes(str);
    foreach (byte b in uniBytes)
    Console.Write(" 0x" + b.ToString("x"));你举的字节值很正确。
      

  2.   

    谢谢AhBian(阿扁):已经按你的方式解决了。
      

  3.   

    用:
    byte[] bytes_GB2312 = ecGB.GetBytes(str);
    即可将字符串转换为 GB2312 编码的字节数组了。不知你的逆向操作是不是这个意思?在 .net 中,string 都是 Unicode 编码,传送给 C++ 或者 PB 时只能传送 bytes_GB2312。当然也可用 BASE64 编码进行传送,此时需要使用 Convert.ToBase64String 和 Convert.FromBase64String 两个方法。
    具体的使用方法参阅相关帮助文档即可获知。