Sto cercando di trovare il modo migliore per capire se la macchina su cui è in esecuzione il mio codice è big-endian o little-endian. Ho una soluzione che funziona (anche se non ho ancora testato su un big-endian della macchina), ma sembra un po 'goffo:Qual è il modo più pitonico per determinare l'endianità?
import struct
little_endian = (struct.pack('@h', 1) == struct.pack('<h', 1))
Questo è solo confrontando una confezione di due byte 'nativo' per un po' pacchetto -endian. C'è un modo più carino?
Perché hai bisogno di sapere? La tua soluzione sembra abbastanza buona, ma certamente non devi sapere quando usi 'struct' stessa? – u0b34a0f6ae
Vero, ma non sto usando il modulo struct (forse dovrei esserlo, ma non sono l'autore originale del codice che sto correggendo). –