Thursday, July 25, 2019

Convert between Binary File and Hex String (C#)

public string ConvertBinaryFileToHexString(string path)
        {
            string strData = string.Empty;
            if (string.IsNullOrWhiteSpace(path)) return strData;

            try
            {
                FileStream objFileStream = new FileStream(path, FileMode.Open, FileAccess.Read);
                int intLength = Convert.ToInt32(objFileStream.Length);
                byte[] objData = new byte[intLength];
                objFileStream.Read(objData, 0, intLength);
                objFileStream.Close();

                strData = "0x" + BitConverter.ToString(objData).Replace("-", string.Empty);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Failed to generate. " + ex.Message);
                toolStripStatusLabel1.Text = "Error";
            }
            finally
            {
                toolStripStatusLabel1.Text = "Done";
            }

            return strData;
        }

public void ConvertHexStringToBianryFile(string input)
        {
            if (string.IsNullOrWhiteSpace(input)) return;

            try
            {
                int NumberChars = input.Length;
                byte[] bytes = new byte[NumberChars / 2];
                for (int i = 0; i < NumberChars; i += 2)
                    bytes[i / 2] = Convert.ToByte(input.Substring(i, 2), 16);
                File.WriteAllBytes(textBox1.Text, bytes);
                MessageBox.Show("Done!");
            }
            catch (Exception ex)
            {
                MessageBox.Show("Failed to generate. " + ex.Message);
                toolStripStatusLabel1.Text = "Error";
            }
            finally
            {
                toolStripStatusLabel1.Text = "Done";
            }

        }

No comments:

Post a Comment