byte[] 转字符串的问题
gjwj1 2014-08-07 11:46:22 虫数据库读取image类型的字段放到BYTE[]里,然后转换成字符串System.Text.Encoding.Defatult.GetString(bytes),把这个字符串传递给一个外部的DLL的方法,如果成功返回TRUE,否则FALSE。不管我用什么编码,都不能成功,而在PB9里,读取了这个image字段后(这个字段也是别人的程序写入的)用string(bytes)在调用同样的外部DLL把这个字符串传递进去就能返回true.
现在比较疑惑pb9里的string(bytes)和fromansi(bytes)都能成功,他们对应的.net中的是什么编码啊,对比下来.net中最接近的是System.Text.Encoding.GetEncoding(“GB2312”).GetString(bytes)这个编码,在显示内容上基本一致,但是生成的字符串长度和PB里同样的字符串长度不一致。并且System.Text.Encoding.GetEncoding(“GB2312”).GetBytes(strs)反回去以后对比原始的数据库里的image里的字段内容也不一致,由于写入的这个字段程序已经问不到他是用什么编码(内码)转换写入的,只能自己猜,但.net中大多的codepage都试过了,不行。有高手能帮我解答下吗?谢谢了。