git packfileインデックスからマジックナンバーを取得して、それが実際にパックファイルであることを確認したいと思います。パック形式のドキュメントには、マジックナンバーは「/377tOc」と記載されています。たとえば、Rubyでパックファイルを開くと、ファイルを読み取るときに次のように返されます。
> File.open("pack-4412d2306cfe9a0b6d1b9b4430abc767022e8a3c.idx").read(4)
=> "\377tOc"
しかし、Haskellではこれがわかります:
> h <- openFile "pack-4412d2306cfe9a0b6d1b9b4430abc767022e8a3c.idx" ReadMode
> Data.ByteString.hGet h 4
=> "\255tOc"
明らかな何かが欠けていると思いますが、それが何であるかは私にはわかりません。私はここで何が間違っているのですか?