Я работаю со встроенным устройством с уникальным протоколом, который отправляет сообщения на другие устройства, и я делаю приложение, которое анализирует отправленные пакеты. Каждый пакет содержит 8 байтов. Протокол определяется как первый байт заголовка, а остальные 7 байт - данные.
Они пытаются передать определенную строку идентификатора, но длина строки идентификатора составляет 8 символов (ASCII), поэтому она не помещается в 7 байтов.
Мой коллега сказал мне, что они собираются превратить 8 байтов ascii исходной строки в целое (десятичное) и отправить мне 4 байта. Мне сказали, что я смогу получить исходную строку из 4 байтов. Я с трудом могу обдумать это.
Так что, если у вас есть строка идентификатора, такая как «IO123456», это 0x49 0x4f 0x31 0x32 0x33 0x34 0x35 0x36 в ASCII. Как на самом деле вы можете сжать это в 4 байта, превратив его в целое число, и я могу получить исходную строку из него ? Я что-то упустил или мой коллега ошибается? Я понимаю, что это действительно странный вопрос, но это серьезно не имеет никакого смысла для меня.