GIFのバイトオーダはリトルエンディアンです!ビッグエンディアンじゃありません!
ふーんという感じですが、specificationにも記述があります。
https://www.w3.org/Graphics/GIF/spec-gif89a.txt
Multi-byte numeric fields are ordered Least Significant Byte first.
『入門 Python3』のp216の記述は誤植ですね(とても混乱するので、エンディアンで誤植してほしくない…)。
7-14 GIFファイルの幅(単位ピクセル)は、バイトオフセット6からの16ビット
ビッグエンディアンの整数で、高さはオフセット8からの同じサイズの整数になっている。gifのこれらの値を抽出して表示しよう。どちらも1になっているか。
答え(p524)はあってる。
>>> import struct >>> width, height = struct.unpack('<HH', gif[6:10]) >>> width, height (1, 1)