본문 바로가기

파이썬 Binary 파일값 hex로 다루기 binascii 모듈을 이용해서 파일에서 읽어온 값을 hex 수준에서 다룰 것이다. 보통 파일을 열어 read(4) 후 print 하면 ascii 수준의 값인 "abcd"가 출력된다.이를 hex 수준의 값으로 출력하고 싶다면 binascii.b2a_hex() 함수를 이용하면 된다. 뜻을 풀어보면 다음과 같다.b2a : Binary to Ascii 즉, Binary 값을 Ascii 문자열로 만들건데,_hex() : 16진수 표현식으로 만들거다. ex) 시그니처를 검사한다던지, 파일 헤더값을 참조한다던지 등 hex 값을 이용할 일이 많다. 문자열의 hex 값으로 출력이 잘 된다. binascii.b2a_hex(data)binascii.hexlify(data)Return the hexadecimal repre..
파이썬 한글 인코딩 해결 파이썬 2.7 기준 맨 앞에 주석 한줄을 추가해주면 됨. #-*- coding:utf-8 -*- 이는 아래의 모든 문자열을 UTF-8 형식으로 처리한다는 의미. 파이썬 2.7은 기본적으로 문자열을 Unicode형식으로 처리하므로, 한글 사용 시 위와 같은 인코딩 설정이 필요. --------------------------------------------------------------------------------------------------------------※ 파이썬 3부터는 기본적으로 utf-8을 사용하므로, 위 같은 주석을 쓰지 않아도 됨.
파이썬 입출력 [ 파일 모드 종류 ]r - 읽기모드 (디폴트)w - 쓰기모드, (항상 새로 생성 - 기존 내용 삭제됨.)x - 쓰기모드, (이미 파일 존재 시 오류.)a - 내용추가모드, 파일이 있으면 뒤에 내용을 추가 -- 중간에 추가는 안됨.+ - 읽기쓰기모드t - 텍스트 모드 (default)b - 바이너리 모드, bytes 단위 데이터 처리. +) 알아두기.f = open('file.txt', 'r+t')텍스트 읽기쓰기모드, 맨 앞에서부터 내용을 덮어쓴다. 기존 파일 유지. (파일이 없으면 오류 발생) --> r(읽기모드) 이므로.