字节数组,转16进制字符串 谢谢
有个数组,里面存的是16进制的内容
现在想转成 16进制格式的字符串格式
比如数组大小现在有4个字节,分别是 :0x11,0x02,0x03,0xff
想要的字符串格式是:"110203ff"
要怎么来实现呢比较好呢?
发现在转换时,,不足两位的16进制,转为字符串时,会省略高位的“0”
现在处理是,先判断字符长度,不足两位,高位补“0”,感觉不是很好呀
有更好的办法么?
谢谢
[解决办法]
- C# code
int[] arr = new int[] { 0x11, 0x02, 0x03, 0xff }; string s = ""; foreach (int i in arr) { s += Convert.ToString(i, 16).PadLeft(2,'0'); } MessageBox.Show(s);
[解决办法]
- C# code
byte[] arr = new byte[1024];arr[0] = 0x11;arr[1] = 0x02;arr[2] = 0x03;arr[3] = 0xff;string s = "";for (int i = 0; i < arr.Length && arr[i] > 0; i++){ s += arr[i].ToString("x2");}或者string s = string.Join("", Array.ConvertAll(Array.FindAll(arr, o => o > 0), o => o.ToString("x2")));