有一个Byte型数组,用什么方法把每个字节都以十六进制的形式写到一个文档中,比如data[1] = 255,写到文档中为AA。每个字节之间最好有一个空格
同样,用什么方法把这样的数据读出来。
谢谢各位大大!!!

解决方案 »

  1.   

    以前有个转十六进制的,至于读,你反过来慢慢想吧        public static string GetStringX(byte[] source)
            {
                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < source.Length; i++)
                {
                    sb.Append(source[i].ToString("x2"));
                    sb.Append(" ");
                }
                return sb.ToString();
            }
      

  2.   

      private static void Write(byte[] bytContents)
            {
                int length = bytContents.Length;
                StringBuilder builder = new StringBuilder(length * 3);
                foreach (byte value in bytContents)
                {
                    builder.AppendFormat("{0:X} ", value);
                }
                System.IO.StreamWriter sw = new System.IO.StreamWriter(@"C:\test.txt",false, System.Text.Encoding.Default);
                sw.Write(builder.ToString());
                sw.Close();
            }        private static byte[] Read(string strFile)
            {
                System.IO.StreamReader sr = new System.IO.StreamReader(strFile, System.Text.Encoding.Default);
                string strContent = sr.ReadToEnd();
                sr.Close();
                string[] arry = strContent.Split(' ');
               List<byte> lstRet=new List<byte> ();
                foreach (string s in arry)
                {
                    if (s.Length == 2)
                    {
                        lstRet.Add(Convert.ToByte(s, 16)); 
                    }
                }
                return lstRet.ToArray();
            }
      

  3.   

    写这个就可以的。
    读的话Convert.ToByte(“0xff”,16); 
      

  4.   

    byte[] b = new byte[] { 0xff, 170, ... };
    string s = string.Join(" ", b.Select(x => ((int)x).ToString("X").PadLeft(2, '0')).ToArray()); // FF AA
      

  5.   


                byte[] buffer = new byte[] { 255, 120, 99, 15 };
                Console.WriteLine(string.Join("-", buffer.Select(item => item.ToString("x2"))));
      

  6.   

    byte.Parse(macAddressNodes[i], NumberStyles.AllowHexSpecifier);
    这个是返回去的