请问如何将System.byte[]的内容转成字符串输出?
2F00FFFFFFFEEA0000D000FFFFFFFFFF10
0860006356680E0020FFFEFFFFFFFF2F00FFFFFFFEE90000
D000FFFFFFFFFF154F6
8FFFFFED53F057000FFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFF2F00FFFFFFFEE70000D000
FFFFFFFFFF0E8
有个数据表里面装着这样的数据,字段的类型是varbinary类型的,我用c#将数据拿到,打印出来的时候aspx显示的System.byte[],请问怎么将数据显示成上面的样子?
我在网上搜索了很久,实在没办法解决了,按照搜索到的答案,用了下面的方法,我把编码转成 UTF8 UTF7 ACSII UNICODE输出全部是乱码。
byte[] bytes = (byte[])row["gamerule"];
Encoding enc =Encoding.UTF8; ....;// 这里得到某个编码对象,
string s = enc.GetString(bytes);
------解决方案--------------------C# code
StringBuilder result=new StringBuilder();
foreach(byte b in dataFromDatabase)
{result.Append(b.ToString("X2");}
------解决方案--------------------
不是所有的byte[]都能换成有意义的字符串的。
“gamerule”可以是一个自定义的格式,要来存放游戏规则。
------解决方案--------------------
byte[] bytes = (byte[])row["a"];
Encoding enc =Encoding.UTF8;
string s = enc.GetString(bytes);
System.Text.Encoding.Default.GetString(bytes );
------解决方案--------------------
?System.BitConverter.ToString(Bytes).Replace ("-","")
"31B2DCD5C5"