私のコードが実行されているマシンがビッグエンディアンかリトルエンディアンのどちらであるかを調べる最良の方法を探しています。 (私はビッグエンディアンのマシン上でそれをテストしていないが)私は機能するソリューションを持っているが、それは少し不格好ようだ:エンディアンを決定する最もPythonの方法は何ですか?
import struct
little_endian = (struct.pack('@h', 1) == struct.pack('<h', 1))
これは、ほんの少しの「ネイティブ」2バイトのパックを比較しています-endian pack。もっときれいな方法がありますか?
なぜ知りたいですか?あなたのソリューションは十分に良いと思われますが、確かに 'struct'自体を使用するときを知る必要はありませんか? – u0b34a0f6ae
真実ですが、私は構造体モジュールを使用していません(おそらく私はそうすべきですが、私が修正しているコードの元の著者ではありません)。 –