環境
- Windows7
- Python2.7
- Sublime Text3

対象はヘッダーを含む16bitのImgファイル(X線測定で得た画像ファイル)です.
ヘッダーの編集を自動化するために,テキストファイルとして読み込んで一部を書き換える,ということをしようとしています.

ファイルサイズが14Mbと比較的大きいため,コーディングしているときは,ヘッダー部だけをあらかじめ切り出し,拡張子をimgにしたファイルを使用していました.

そのときは下のように,ファイルをエディタで開いたときと同じような配列

522d 4158 4953 2d43 5320 312e 302d 322e 3020 2020 476c 7963 696e 6520 2020 2020 2020 2020 2020 2020 7472 6967 6f6e 616c...

が取り出せていたのですが,いざ元のimgファイルに対してプログラムを実行したところ,取り出せたのは

R-AXIS-CS 1.0-2.0   Glycine             trigonal    @\xe19\xc1@\xe19\xc1@\xaff\xcfB\xb4\x00\x00B\xb4\x00\x00B\xf0\x00\x00P31\x00m       ...

のように,エンコードが変わった(?)ものになってしまいました.

単にファイルをopen()してreadline()しただけなのですが...

with open('sample.img', 'rb') as f:
    for i in range(60):
        data = []
        list1 = f.readline()
        data.append(list1)
print data

普通に16進数の配列として取り出すにはどうしたらよいでしょうか?
そもそも,テキストとして開こうとしているのが間違いなのでしょうか?

文字コードなどに詳しくないので,何が起きてるかさっぱりわかりません.
よろしくお願いします.