環境
- Windows7
- Python2.7
- Sublime Text3
対象はヘッダーを含む16bitのImgファイル(X線測定で得た画像ファイル)です.
ヘッダーの編集を自動化するために,テキストファイルとして読み込んで一部を書き換える,ということをしようとしています.
ファイルサイズが14Mbと比較的大きいため,コーディングしているときは,ヘッダー部だけをあらかじめ切り出し,拡張子をimgにしたファイルを使用していました.
そのときは下のように,ファイルをエディタで開いたときと同じような配列
lang
1522d 4158 4953 2d43 5320 312e 302d 322e 23020 2020 476c 7963 696e 6520 2020 2020 32020 2020 2020 2020 7472 6967 6f6e 616c
が取り出せていたのですが,いざ元のimgファイルに対してプログラムを実行したところ,取り出せたのは
lang
1R-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()しただけなのですが...
lang
1with open('sample.img', 'rb') as f: 2 for i in range(60): 3 data = [] 4 list1 = f.readline() 5 data.append(list1) 6 7print data
普通に16進数の配列として取り出すにはどうしたらよいでしょうか?
そもそも,テキストとして開こうとしているのが間違いなのでしょうか?
文字コードなどに詳しくないので,何が起きてるかさっぱりわかりません.
よろしくお願いします.

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/05/15 06:18
2015/05/15 07:35