반응형
파일내용 hex dump 로 보기
1. 문자열 처리로 hex 보기
<참고> http://ebeab.com/2012/10/10/python-string-format/
f = open('blurcat.bmp','rb') t = f.read() type(t) print 'file size = ', len(t) print t[:30] print repr(t[:30]) kk = t[:30] for x in kk: # print hex(ord(x)) pass l = [hex(ord(x)) for x in kk] print ' l ==> ', l print ''.join(l) print '\n ----------------------------------- \n' l2 = [hex(ord(x))[2:] for x in kk] print l2 m = ''.join(l2) print 'len of m = ', len(m) print m print '\n ----------------------------------- \n' k2 = [ '%02x'%ord(x) for x in kk] # '%02x' -> 16진수 표시, 2자리, 0 으로 채우기 print 'k2 = ',k2 print ''.join(k2) print '\n ----------------------------------- \n' k3 = [ '{:0>2x}'.format(ord(t)) for t in kk] # '{:0>2x}' -> 16진수, 2자리, 0 으로 채우기, 우측정렬(>) print 'k3 = ',k3 print ''.join(k3) print '\n ----------------------------------- \n' k4 = [ '{:02x}'.format(ord(t)) for t in kk] # '{:02x}' --> 16진수 표시, 2자리, 0 으로 채우기 print 'k4 = ',k4 print ''.join(k4)
ord(x) --- 문자 x 의 코드 숫자 출력
https://docs.python.org/2/library/functions.html#ord
2. binascii 모듈 사용하기
<참고> http://stackoverflow.com/questions/3964245/convert-file-to-hex-string-python
import binascii f = open('blurcat.bmp','rb') t = f.read() tt = binascii.hexlify(t) print type(tt) # 1 byte 당 hexa 표시는 2자리숫자이므로, 30 bytes 데이터를 hexa 로 볼려면 60개를 불러봐야함. print tt[:60]
>>> binascii.hexlify('abc') '616263' >>> binascii.unhexlify('616263') 'abc' >>>
** 파일전체 hex dump 참고 사이트 **
http://c2.com/cgi/wiki?HexDumpInManyProgrammingLanguages
http://stackoverflow.com/questions/16443185/reading-a-binary-file-on-backwards-using-python
반응형
'python' 카테고리의 다른 글
ipython notebook 에서 한글 csv 파일 불러오기 (0) | 2014.05.09 |
---|---|
ipython notebook 에서 한글 txt 파일 불러오기 - windows 7 (0) | 2014.05.09 |
python으로 윈도우 terminal 명령어 실행하기 (0) | 2014.04.24 |
문자열 코드 실행 --- eval, exec, compile (0) | 2014.04.22 |
setuptools, easy_install, pip 설치하기 - windows (0) | 2014.04.19 |