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

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

------解决方案--------------------
以前有个转十六进制的,至于读,你反过来慢慢想吧

        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();
        }

------解决方案--------------------
  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)
            {
               &nb