Java では、ファイルを ByteBuffer に読み込むだけです。ByteBuffer に正しいバイトが含まれていることを確認するためにチェックを開始したとき、3 番目のバイトを除いて、ほとんど正しい開始バイトと終了バイトがあることに気付きました。emacs が 139 である必要があると言う代わりに -117 になっています (16 進数で 8b -モード)。何を与える?これは、ビッグ/リトル エンディアンと関係がありますか?
明確にするために、emacs によると、最初の 4 バイトは次のようになります。
31 139 8 0 に等しい 1f:8b:08:00
そして私のJavaは次のようになります:
31 -117 8 0
何か案は?