我想从 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"
我认为我遗漏了一些明显的东西,但我不清楚那是什么。我在这里做错了什么?