How do I convert a byte array to a string?
本问题已经有最佳答案,请猛点这里访问。
我有一个30字节数组的字节,但是当我使用bitconverter.toString时,它显示十六进制字符串。字节是
它的意思是b.r.e.a.k.i.n.g.a.w.e.s.o.m.e,但我不知道如何让它从十六进制转换为Unicode转换为ASCII。
您可以使用其中一个
1 | string val = Encoding.UTF8.GetString(myByteArray); |
您显示的值看起来像Unicode编码,因此
它看起来像是小endian utf-16,所以您需要
1 | string text = Encoding.Unicode.GetString(bytes); |
通常情况下,您不应该假定编码是什么——它应该是您知道的关于数据的东西。对于其他编码,您显然会使用不同的
编辑:正如注释中所指出的,从字节数组的开头(在这种情况下,您需要
(然而,当涉及到相反的情况时,采用任意二进制数据并将其表示为文本,您应该使用十六进制或base64。这里不是这样,但你应该知道。)