ToString ( "X" ) выводит шестнадцатеричные цифры с шестью цифрами

Мы написали грубую область данных.

(бесплатные программы терминалов, которые мы обнаружили, не могли не отставать от скорости Bluetooth)

Результаты в порядке, и мы пишем их в файл, разделенный запятыми, для использования с электронной таблицей. Было бы лучше видеть, что шестнадцатеричные значения выравниваются в хороших столбцах в 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") + " "; создавала начальный нуль при значениях от 00h до 0Fh

Или другой способ превратить значение в байте b в два алфавитных символа от 00 до FF

enter image description here

Цифры слева, FF 40 0 5 Стройте красиво и аккуратно, потому что они идентичны. Как только мы сталкиваемся с какой-либо разницей в данных, столбцы исчезают, и данные становятся чрезвычайно трудными для чтения с наблюдением человека.