C # Самый простой способ конвертировать сериализованные значения формата Intel HEX в int - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть ряд шестнадцатеричных значений, которые мне нужно преобразовать в int из формата intel Hex.

Однако эти значения находятся в одной строке, не имеют разделителя и отличаются по длине.

Пример строки: :A40425B6, которая представляет 3 типа int: A4, 0425 и B6.

В C существует простой способ сделать это (после удаления :):

sscanf(line.toLocal8Bit().constData(), "%2x%4x%2x", &byteCount, &address, &recordType);

Конечно, можно было бы просто разделить строку разделителями и затем преобразовать ее следующим образом:

             byteCount = Convert.ToInt32(line.Substring(1, 2), 16);
             address = Convert.ToUInt32(line.Substring(3, 4), 16);
             recordType = Convert.ToUInt32(line.Substring(7, 2), 16);

Однако, есть более чистый способсделать это похоже на C?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...