ToString(“X”)产生单个数字的hex数

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

(我们发现的免费软件终端程序无法跟上蓝牙速度)

结果没问题,我们将它们写入逗号分隔文件,以便与电子表格一起使用。 最好看看HexTe值在RichTextBox中的漂亮列中排队,而不是现在看起来的方式(附加屏幕上限)。

这是将数字(例如,从0FF数字)添加到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"; } } } } 

我想要一种方法来pass += b[i].ToString("X") + " ";指令pass += b[i].ToString("X") + " ";00h0Fh产生一个前导零值

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

在此处输入图像描述

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

使用复合格式字符串:

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

有关MSDN, 标准数字格式字符串的文档有示例。

“X”是格式说明符。 它将数字转换为hex数字字符串。

 int _abc = 123456; Console.WriteLine(_abc.ToString("X")); 

这将为您提供’1E240’作为输出

(1E240是hex值123456)