日期:2014-05-17  浏览次数:20950 次

byte数组 怎么弄成16进制的字符串


 byte[] msg = new Byte[256];
 s.ReceiveFrom(msg, ref senderRemote);
//string deviceID = Convert.ToString(msg[5], 16);
 string rt = System.Text.UTF8Encoding.UTF8.GetString(msg);



msg数组里存的是 16进制 内容

这样 rt 的字符串,显示出来的是乱码, 有什么简单的办法,把msg数组里的16进制字节,组成一个字符串

如:“AA BB CC DD EE”


------解决方案--------------------
msg.Cast<byte>().Tolist().ForEach(p=>tr+=p.ToString("X"));
------解决方案--------------------
 string base64String = Convert.ToBase64String(msg);
------解决方案--------------------
引用:
Quote: 引用:

msg.Cast<byte>().Tolist().ForEach(p=>tr+=p.ToString("X"));

错误 1 “System.Collections.Generic.IEnumerable<byte>”不包含“Tolist”的定义,并且找不到可接受类型为“System.Collections.Generic.IEnumerable<byte>”的第一个参数的扩展方法“Tolist”(是否缺少 using 指令或程序集引用?) C:\Documents and Settings\Administrator\桌面\log4netDemo1\Program.cs 39 34 RFS6006Test
像这种问题可以右键点击Cast<byte>()转到定义查看他提供的一系列变量和方法,都有详细的注释。