[Python] Re: doppio backslash non va
SMZE
smze a eutelia.com
Dom 4 Feb 2007 11:47:22 CET
Il giorno sab, 03/02/2007 alle 10.51 +0100, Lawrence Oluyede ha scritto:
...
>
> Continuo a non capire comunque, sii più chiaro e dettagliato ...
...
Provo a spiegare meglio:
Ho la necessità di dare significato a delle stringhe lette da file che
rappresentano dei valori esadecimali. Per esempio il file è del tipo
...
03ff55a600
556c9daa12
...
queste stringhe devono essere interpretate da varie convenzioni
(Big-Endian o Little-Endian; 1 byte con o senza segno, 2 byte con o
senza segno, 4 byte con o senza segno). Quindi, leggendo la
documentazione, mi pareva che unpack() facesse al caso mio. Infatti per
interpretare la prima stringa 03ff55a600 per esempio in formato
Big-Endian a gruppi di 1 byte con segno avrei fatto:
>>> struct.unpack('>bbbbb','\x03\xff\x55\xa6\x00')
(3, -1, 85, -90, 0)
Chiaramente ho bisogno di modificare la stringa di partenza nel formato
conforme a unpack(). E da qui scaturiscono le mie decine di mail. :-P.
Posso anche aver frainteso come funzioni unpack() perchè ad esempio:
>>> struct.unpack('>BBBBB','\x03\xff\x55\xa6\x00')
(3, 255, 85, 166, 0)
>>> struct.unpack('<BBBBB','\x03\xff\x55\xa6\x00')
(3, 255, 85, 166, 0)
per la prima istruzione tutto ok. Ma come mai la seconda mi mantiene gli
stessi valori?
Grazie.
Maggiori informazioni sulla lista
Python