Saya bekerja dengan perangkat tertanam dengan protokol unik yang mengirim pesan ke perangkat lain dan saya membuat aplikasi yang mem-parsing paket yang dikirim. Setiap paket membawa 8 byte. Protokol didefinisikan sebagai tempat byte pertama adalah header dan sisa 7 byte adalah data.
Mereka mencoba untuk melewatkan string ID tertentu tetapi string ID panjangnya 8 karakter (ASCII) sehingga tidak akan muat dalam 7 byte.
Apa yang dikatakan oleh kolega saya adalah bahwa mereka akan mengubah 8 ascii byte dari string asli menjadi integer (desimal) dan mengirimkan saya 4 byte darinya. Mereka mengatakan kepada saya bahwa saya harus bisa mendapatkan string asli dari 4 byte. Saya mengalami kesulitan membungkus kepala saya di sekitar ini.
Jadi jika Anda memiliki string ID seperti "IO123456", itu 0x49 0x4f 0x31 0x32 0x33 0x34 0x35 0x36 di ASCII .. Bagaimana bisa Anda mengompresnya dalam 4 byte dengan mengubahnya menjadi bilangan bulat dan saya bisa mendapatkan string asli dari itu ? Apakah saya melewatkan sesuatu atau kolega saya salah? Saya mengerti ini adalah pertanyaan yang sangat aneh tapi ini serius tidak masuk akal bagi saya.