컴팩트 코드로 데이터를 압축 할 때 정수를 처리하는 방법을 모르겠습니다. 정수를 1 바이트, 2 바이트, 3 바이트 등의 메모리에 저장해야합니다. 어떻게 파이썬에서이 작업을 수행 할 수 있습니까?파이썬에서 특정 비트 (24 비트, 16 비트 등)의 정수를 저장하는 방법은 무엇입니까?
또는 튜플을 변경하는 방법 (1, 0, 1, ..., 1) 정확한 3bytes 저장
컴팩트 코드로 데이터를 압축 할 때 정수를 처리하는 방법을 모르겠습니다. 정수를 1 바이트, 2 바이트, 3 바이트 등의 메모리에 저장해야합니다. 어떻게 파이썬에서이 작업을 수행 할 수 있습니까?파이썬에서 특정 비트 (24 비트, 16 비트 등)의 정수를 저장하는 방법은 무엇입니까?
또는 튜플을 변경하는 방법 (1, 0, 1, ..., 1) 정확한 3bytes 저장
바이트로 표준 라이브러리 팩 데이터의 struct
모듈로 (24 비트).
당신이 바이트의 임의의 숫자에 포장해야하는 경우 예를 들어, struct
모듈에 의존보다 bytearray
를 사용하는 것이 더 좋을 수도 :
>>> a = bytearray(3) # create 3 byte array
>>> a[0] = 0x3e
>>> a[1] = 0xff
>>> a[2] = 0x00
하는 것으로 몇 바이트 이상이 될 것이므로 메모리 사용에 대해 정말로 걱정한다면 모든 데이터를 가능한 한 적은 수의 객체로 저장해야합니다.
정확한 요구에 따라 bitstring과 같은 타사 모듈이 도움이 될 수 있습니다 (전체 공개 : 작성).
>>> b = bitstring.BitArray((1,0,1,1,1,0,0,1,1,1,0,1,0,1,1,1))
>>> b.bytes
'\xb9\xd7'
>>> b.uint
47575