Descrizione del campo binario è:Python, come decodificare binario decimale codificato (BCD)
numero del chiamante, espressa con codice BCD compressa, ed i bit in eccesso vengono riempiti con “0xF”
Ho provato a stampare con il formato struct '16c'
e ottengo: ('3', '\x00', '\x02', '\x05', '\x15', '\x13', 'G', 'O', '\xff', '\xff', '\xff', '\xff', '\xff', '\xff', '\xff', '\xff')
e se uso '16b'
ottengo (51, 0, 2, 5, 21, 19, 71, 79, -1, -1, -1, -1, -1, -1, -1, -1)
. E non è corretto, dovrei ottenere il numero di telefono, e i numeri sopra non sono validi.
print struct.unpack_from('>16b', str(data.read()),offset=46)
Sopra è il codice che non ha funzionato e ottengo numeri non validi. Con quale formato dovrei decomprimere quel campo da 16 byte e come convertire il codice BCD?
Grazie mille. – Whit3H0rse
+1 Molto elegante e pitonico! – Kos