Solved

Formatting or Padding Bytes

Posted on 2012-04-11
5
246 Views
Last Modified: 2012-04-11
Hi, I'm using MS Visual Studio C# 2010. I am trying to read a file into a textbox as a Binary String. My code is at the end of this question.

My question is... when I get to bytes that are single digits like "0" or "A", I only get one digit printing out, rather than two. Such as below:

6C 79 2E D A 0 0 0 0 0 0 0 0 0

How should I format or pad my output, so it prints out as show below?

6C 79 2E 0D 0A 00 00 00 00 00 00 00 00 00


Code:
private void btnRead_Click(object sender, EventArgs e)
        {
            string path = @"F:\Mary had a little Lamb.txt";

            if (File.Exists(path))
            {
                Console.WriteLine("The file exists");
                StreamReader sr = new StreamReader(File.OpenRead (path));
                byte[] buffer = new byte[1000];
                sr.BaseStream.Read(buffer, 0, 1000);
                foreach ( byte myByte in buffer)
                {
                    tbxText.Text += myByte.ToString("X") + " ";
                }
             
                sr.Dispose();
            }
            else
            {
                Console.WriteLine("The file does NOT exists");
            }

Open in new window

0
Comment
Question by:Mr_Fulano
  • 2
  • 2
5 Comments
 
LVL 4

Expert Comment

by:jatkin
ID: 37831343
Hi,

Try this:

    tbxText.Text += myByte.ToString("X").PadLeft(2, '0') + " ";

It will pad using the char specified

Hope this helps,

James
0
 
LVL 4

Expert Comment

by:jatkin
ID: 37831373
Hi,

The PadLeft function actually performs the length test for you. The length specified in the call is the TOTAL length of the resulting string.

i.e.
"AA" would return "AA"
"A" would return "0A"

Regards,

James
0
 
LVL 23

Accepted Solution

by:
wdosanjos earned 500 total points
ID: 37834150
Try:

tbxText.Text += myByte.ToString("X2") + " ";
0
 

Author Comment

by:Mr_Fulano
ID: 37835626
Thank you both for your great replies. Although James was first to respond, Wdosanjos had the best approach. Thank you again for your help!

Fulano
0
 

Author Closing Comment

by:Mr_Fulano
ID: 37835629
Very good and effective approach.
0

Featured Post

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
This article shows how to deploy dynamic backgrounds to computers depending on the aspect ratio of display
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…
In a recent question (https://www.experts-exchange.com/questions/29004105/Run-AutoHotkey-script-directly-from-Notepad.html) here at Experts Exchange, a member asked how to run an AutoHotkey script (.AHK) directly from Notepad++ (aka NPP). This video…

820 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question