Pracuję z urządzeniem osadzonym z unikalnym protokołem, który wysyła wiadomości do innych urządzeń i tworzę aplikację, która analizuje wysłane pakiety. Każdy pakiet zawiera 8 bajtów. Protokół jest zdefiniowany jako gdzie pierwszy bajt to nagłówek, a pozostałe 7 bajtów to dane.
Próbują przekazać określony ciąg identyfikatora, ale ciąg identyfikatora ma długość 8 znaków (ASCII), więc nie zmieści się w 7 bajtach.
Mój kolega powiedział mi, że zamieni 8 bajtów ascii oryginalnego ciągu znaków na liczbę całkowitą (dziesiętną) i wyśle mi 4 bajty. Powiedzieli mi, że powinienem być w stanie uzyskać oryginalny ciąg z 4 bajtów. Trudno mi się na tym skupić.
Więc jeśli masz ciąg identyfikatora, taki jak „IO123456”, to jest to 0x49 0x4f 0x31 0x32 0x33 0x34 0x35 0x36 w ASCII .. Jak do licha możesz skompresować to w 4 bajtach, zamieniając go na liczbę całkowitą i mogę uzyskać z niego oryginalny ciąg ? Czy coś pomijam, czy mój kolega się myli? Rozumiem, że to naprawdę dziwne pytanie, ale to poważnie nie ma dla mnie żadnego sensu.