テキストファイル読み込みの際のエンコードが勝手に変わる?
環境
- 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進数の配列として取り出すにはどうしたらよいでしょうか?
そもそも,テキストとして開こうとしているのが間違いなのでしょうか?
文字コードなどに詳しくないので,何が起きてるかさっぱりわかりません.
よろしくお願いします.