28

我们编写了一个粗略的数据范围。

(我们发现的免费终端程序跟不上蓝牙速度)

结果没问题,我们正在将它们写入逗号分隔的文件以用于电子表格。最好在 RichTextBox 中的漂亮列中看到十六进制值排列,而不是现在的样子(附加屏幕帽)。

这是将数字(例如,从0到的数字FF)添加到 RichTextBox 中的文本的例程。

  public void Write(byte[] b)
         {
             if (writting)
             {
                 for (int i = 0; i < b.Length; i++)
                 {
                     storage[sPlace++] = b[i];

                     pass += b[i].ToString("X") + " ";  //// <<<--- Here is the problem

                     if (sPlace % numericUpDown1.Value == 0)
                     {
                         pass += "\r\n";
                     }
                 }
             }
         }

我想要一种方法让指令在topass += b[i].ToString("X") + " ";的值上产生前导零00h0Fh

或者,将字节中的值b转换为两个字母字符的其他00方式FF

在此处输入图像描述

左边的数字,FF 40 0 5排列整齐,因为它们是相同的。一旦我们遇到数据中的任何差异,列就会消失,并且人类观察数据变得非常难以阅读。

4

1 回答 1

58

使用复合格式字符串:

pass += b[i].ToString("X2") + " ";

MSDN 上的文档,Standard Numeric Format Strings有示例。

于 2013-03-05T20:20:42.047 回答