python에서 메모리 값을 read 할 때, 그 값은 binaray 값, 즉 raw (사전적 의미, 익히지 않은, 날것의) 데이터이다. 이를 익혀서 다룰 수 있도록 해주는 것이 struct의 unpack이다. 


struct.unpack(Format, Data) 시에는 raw -> value (사용자에게 이용할 수 있는)


struct의 pack과 unpack에 대한 내용은 아래 블로그에 잘 정리 되어 있다.

http://hextracker.tistory.com/141


pack의 리턴은 string, unpack의 리턴은 tuple이라는 점

또한 Format에서 이용되는 값들에 대한 정리도 잘 정리 되어 있으니 익혀둘 필요가 있다.


Big Endian, Little Endian에 대한 개념이해도 다시 필요하다. 이는 아래 블로그에서 간단히 확인 가능하다.

http://blog.naver.com/nobless_05/50091676472


네트워크에서는 Big Endian, 우리가 일반적으로 사용하는 인텔 계열의 CPU에서는 Little Endian이 주로 사용된다. 우리가 주로 파이썬에서 struct.unpack 시에 format에 "<L"을 주로 볼 수 있는 이유가 여기 있을 것이다.



+ Recent posts