在别人的sql2005库里得到 二进制数据 如下:
0x4F2EE0A22B768C36F296DBC8C30405C2C058BDE67B8180BEC44200DB84346495
肯定知道这是汉字。。但是怎么转化不过来。。老是乱码!  Encoding encoding = Encoding.Default;
  string newString = encoding.GetString(thebyte);红字的地方我都换过了。还是出不了正常的汉字。。怎么回啊。。

解决方案 »

  1.   

    你得到的byte数据是从Unicode码转换过来的,Unicode码将7位二进制ASCII编码变成8位二进制,再在前面添一个字节00H,所以字符4就变成了0034H,在计算机中存储时低字节在前,就是你看到的3400H,汉字刚好是两个字节,但要注意低字节在前,调整一下字节次序再转换成汉字就可以了,
      

  2.   

    你知道是什么编码就可以了string s1=System.Text.Encoding.UTF8.GetString((byte[])yourdata);
    string s2=System.Text.Encoding.Default.GetString((byte[])yourdata);
      

  3.   

    非得手动调吗?。net里面没有现成的东西吗?大哥。。我只是想让出现汉字啊。
      

  4.   


    我不知道他用什么编码放到数据库中的。数据库的类型就是varbinary(32)就是 这样的。我要读取出来这些字节并显示出来可以读懂的汉字。。但是我照你 的方法。。把那么多编码都换个遍。都没有一个出来正常的汉字
      

  5.   

    你这些数据不是Unicode编码,更不是GB2312编码,看不出是什么编码,如果肯定是汉字,加密了码?
      

  6.   

    肯定知道这是汉字
    [/Quote]
    怎么肯定的?