본문 바로가기

개발자 레니는 지금 -/소프트웨어와 함께

[ Python 3.x ] 2진 데이터




Binary Data




 Time

2018년 04월 10일 

OS 

  Linux(Ubuntu 16.04 LTS)

Language

Python 3.5.2



1. Binary data at Python ?

기본적으로 byte type은 존재하지 않는다.

하지만, binary string을 처리하기 위한 bytes라는 기본 module은 존재한다. 


2. bytes 선언은 어떻게 할까?

a = b'ABC'

a = b'\x41\x42'


위 같이 초기화 되었을 때 a를 출력하면 b'ABC' 가 나온다.

하지만, a[0]를 출력하면 binary가 나오지 않고 int형으로 변환되어 65가 출력된다.


3. binary로 바꾸고 싶을 때는?

가. Type Int


a = 16

a.to_bytes(2, 'little')

# b'\x10\x00'

a.to_bytes(2, 'big')

# b'\x00\x10'


나. Type String


a = bytes.fromhex("414243")

# b\'ABC'


+ Use Struct Module

Python 자료형과 C언어 구조체형 사이에서 데이터 변환을 할 때 주로 사용하는 모듈.

Binary data를 처리할 때 사용할 수 있는 모듈로 Binary 통신 및 Binary file을 열 때 이용된다.