powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Быстрая рутина Массив байт в строку HEX
4 сообщений из 4, страница 1 из 1
Быстрая рутина Массив байт в строку HEX
    #38361032
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Быстренько надо накидать слушалку com-порта. Читаю массив байт с него, и вывожу на экране. Чтоб лучше все читалось, каждый байтик хочется в формате X2 плюс пробел между байтами.

Попробовал System.Text.Encoding.ASCII.GetString(msg); - не оно, т.к. если выведет FFF, то не ясно, пришло ли 3 байта по 0x0F, или 1 0x0F и 1 0xFF

Пока что ничего, кроме унылого
Код: c#
1.
2.
3.
4.
5.
for (int i = 0; i < msg.Length; i++)
                {
                    str_.Append(msg[i].ToString("X2"));
                    str_.Append(" ");
                }



не пришло в голову.

Подскажете?
...
Рейтинг: 0 / 0
Быстрая рутина Массив байт в строку HEX
    #38361038
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BitConverter.ToString, но там разделитель -- дефис.
...
Рейтинг: 0 / 0
Быстрая рутина Массив байт в строку HEX
    #38363862
spam19701
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А "быстрая" - это имеется в виду по скорости работы, или по написанию?
Если по скорости работы, я бы сделал что-нибудь такое:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
    public static string ArrBytesToHex(byte[] Arr)
    {
      const string Tab = "0123456789ABCDEF";
      int l = Arr.Length;
      char[] CArr = new char[l * 3];  //Выделяем нужную память сразу
      for (int i = 0, j = 0; i < l; i++)
      {
        byte b = Arr[i];
        CArr[j++] = Tab[b >> 4];  //Преобразуем в символ без вызова методов
        CArr[j++] = Tab[b & 0x0F];
        CArr[j++] = ' ';
      }
      return new string(CArr);
    }


Ну а если "быстрая" по написанию, то, конечно, ваше быстрее.
...
Рейтинг: 0 / 0
Быстрая рутина Массив байт в строку HEX
    #38364020
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Быстрая рутина Массив байт в строку HEX
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]