Próbuję znaleźć najlepszy sposób sprawdzenia, czy komputer, na którym działa mój kod, to big-endian lub little-endian. Mam rozwiązanie, które działa (choć nie testowałem go na maszynie big-endian), ale wydaje się nieco clunky:Jaki jest najbardziej Pythonowy sposób określania endianiczności?
import struct
little_endian = (struct.pack('@h', 1) == struct.pack('<h', 1))
to tylko porównanie z „native” pakiet dwubajtowa się trochę - pakiet portugalski. Czy jest ładniejsza droga?
Dlaczego musisz wiedzieć? Twoje rozwiązanie wydaje się wystarczająco dobre, ale na pewno nie musisz wiedzieć, kiedy używasz samej "struct"? – u0b34a0f6ae
To prawda, ale nie używam modułu struct (być może powinienem być, ale nie jestem oryginalnym autorem kodu, który naprawiam). –