Я працюю з вбудованим пристроєм з унікальним протоколом, який надсилає повідомлення на інші пристрої, і я роблю програму, яка аналізує надіслані пакети. Кожен пакет містить 8 байт. Протокол визначається так, як перший байт - заголовок, а решта - 7 байт.
Вони намагаються передати певний рядок ідентифікатора, але ID для нього - 8 символів (ASCII), тому він не вміститься в 7 байт.
Що сказав мій колега, це те, що вони збираються перетворити 8 байтів Ascii початкового рядка в ціле число (десятковий) і надіслати мені 4 байти. Вони сказали мені, що я повинен мати можливість отримати оригінальний рядок із 4-х байт. Мені важко обернути голову з цього приводу.
Отже, якщо у вас є рядок ідентифікатора типу "IO123456", це 0x49 0x4f 0x31 0x32 0x33 0x34 0x35 0x36 в ASCII .. Як на землі ви можете стиснути це в 4 байти, перетворивши його в ціле число, і я можу отримати з нього вихідний рядок ? Я щось пропускаю, або мій колега помиляється? Я розумію, це справді химерне питання, але це серйозно не має для мене сенсу.