ToString(“X”)产生单个数字的hex数
我们写了一个粗略的数据范围。
(我们发现的免费软件终端程序无法跟上蓝牙速度)
结果没问题,我们将它们写入逗号分隔文件,以便与电子表格一起使用。 最好看看HexTe值在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"; } } } }
我想要一种方法来pass += b[i].ToString("X") + " ";
指令pass += b[i].ToString("X") + " ";
从00h
到0Fh
产生一个前导零值
或者,将字节b
的值转换为从00
到FF
两个字母字符的其他方法
左边的数字, FF 40 0 5
排列整齐,整齐,因为它们是相同的。 一旦我们遇到任何数据差异,列就会消失,数据变得非常难以通过人类观察来阅读。
使用复合格式字符串:
pass += b[i].ToString("X2") + " ";
有关MSDN, 标准数字格式字符串的文档有示例。
“X”是格式说明符。 它将数字转换为hex数字字符串。
int _abc = 123456; Console.WriteLine(_abc.ToString("X"));
这将为您提供’1E240’作为输出
(1E240是hex值123456)