HEX строку в ASCII - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день! Подскажите, по работе с COM портом, мне надо передавать символы по таблице ASCII, но исходные данные у меня в HEX виде - как сконвертировать ? Например - 81F1C58302 в php есть такая штука как chr и hexdec, там все просто - бьем по 2 символа и конвертируем, но там проблема в том что там ограничение ASCII таблицы всего 7F, т.е. следующий разряд - 80 уже равно 00, т.е. по кругу

Решение задачи: «HEX строку в ASCII»

textual
Листинг программы
string s = "81F1C58302";
Encoding enc = Encoding.GetEncoding("windows-1251"); // Подставь нужную ASCII-совместимую кодировку
StringBuilder sb = new StringBuilder(s.Length/2);
byte[] b = new byte[1];
for (int i=0; i<s.Length; i+=2)
{
    b[0] = Convert.ToByte(s.Substring(i,2), 16);
    sb.Append(enc.GetString(b));
}
string result = sb.ToString();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.75 из 5