将byte []转换为字符串

ban*_*n-G 2 .net c#

如何将字节数组转换为字符串?我需要获取原始内容,例如"96 = A8 = FC- = A8 = FE",但是当我使用说Encoding.UTF8.GetString(字节)时,它返回"96 - ".谢谢!

Jon*_*eet 10

我认为你误解了字符串的内容.你最接近"原始内容"的是使用Encoding.Unicode- .NET在内部使用UTF-16,因此转换为UTF-16实际上只是将内存的内容从字符串复制到字节数组.

现在,回到你的问题,你有什么数据,它代表什么意思,为什么?文本数据是字符.二进制数据基本上是数字.你必须在两者之间有一个映射,那就是编码.

我有一篇关于Unicode的文章可能会对你有所帮助,但我强烈怀疑你在取得任何进展之前需要退一步.

如果你试图将字节数组转换为这些字节的字符串表示形式为十六进制,你可以使用,BitConverter.ToString(byte[])但我不会将其描述为"原始"转换.

编辑:好的,现在我们有了上下文,回答起来要容易得多.您正在查看的是引用的可打印编码.电子邮件应指定引用的可打印的编码,因此当您解码QP编码时,这就是您应该使用的.如果您当前没有存储原始电子邮件的内容编码,那么您现在应该开始这样做...