我用byte[] b = Encoding.ASCII.GetBytes("中国");将汉字转换成二进制数组
再用string str = Encoding.ASCII.GetString(b);转换成字符,但如果是汉字的话,转换过来就变成了“???”,怎么回事呢,该怎么样转换?谢谢

解决方案 »

  1.   

    汉字无法转换为ASCII,请用 UTF-7、UTF-8、 Unicode 或 GB18030 之类的编码。
      

  2.   

    byte[] b = Encoding.Default.GetBytes("中国");
    string str = Encoding.Default.GetString(b);
      

  3.   

    ASCII表里就没有汉字的..使用GB2312 或则UTF8Encoding.GetEncoding("GB2312").GetBytes("中国");
      

  4.   

    如果系统是英文的环境
    Encoding.GetEncoding("GB2312").GetBytes("中国");
    byte[] b = Encoding.Default.GetBytes("中国"); 
    string str = Encoding.Default.GetString(b);
    这样子输出来的str都是??.