파이썬 구조체 작은 측 저장소

참고 링크 : https://www.liaoxuefeng.com/wiki/1016959663602400/1017685387246080

  파이썬 바이트 문자 데이터 형식으로 변환 할 때, 파이썬은 전문 데이터 바이트를 처리하는 유형을 제공하지 않지만, 파이썬은 구조체 모듈 제공 바이트 및 기타 바이너리 데이터 형식 변환을

  팩 ()는 임의의 데이터 유형은 데이터 유형에 바이트

>>> 수입 구조체 
>>> 다음 struct.pack ( '> I가'10240099) 
B '\ x00에서 \ x9c C @'

  pack첫 번째 파라미터는, 처리 명령 인 '>I'것을 의미

  >, 바이트 순서는 빅 엔디안 네트워크, 즉 순서이다 나타내는 I4 바이트의 부호없는 정수를 나타낸다.

  파라미터의 개수와 일치 처리 뒤에 지시한다. 그들은 주어진되지 않는 경우

>>> 다음 struct.pack ( '나는', '2') 
역 추적 (가장 최근에 호출 마지막) : 
  <모듈>에 파일 "<표준 입력>"줄 1, 
struct.error : 필수 인수되어 있지 정수 
>>>

 

  unpack넣어 bytes해당 데이터 유형으로 :

>>> struct.unpack ( '> IH', B '\ xf0 \ xf0 \ xf0 \ xf0 \ X80 \ X80') 
(4,042,322,160, 32,896)

  H는 2 바이트의 부호없는 정수를 나타내고,

  C 자 1 바이트를 나타낸다

  

  따라서, 파이썬 기본 운영 바이트 스트림을 코딩에 적합하지만, 성능 아니지만 사용하는 대신 필요하지 않습니다 struct더 편리합니다 .

  struct모듈 정의 데이터 형식은 공식 파이썬 문서를 참조 할 수 있습니다 : https://docs.python.org/3/library/struct.html#format-characters

 

작은 엔드 스토리지

  참고 링크 : https://blog.csdn.net/favory/article/details/4441361

  어드레스 데이터에 관련된 메모리에 기억

  작은 쪽 스토리지 : 보다 낮은 메모리 어드레스에 저장된 바이트 덜 중요한 높은 어드레스 메모리에 저장된 높은 최상위 바이트

  빅 엔디안 스토리지 : 보다 높은 최상위 바이트가 낮은 메모리 어드레스에 저장되고이 하부 최상위 바이트가 높은 어드레스 메모리에 저장된

  왜 더 중요한 바이트가, 그리고 낮은 효과적인 바이트는 구별?

  현재의 컴퓨터 시스템, 우리는 바이트이기 때문이고, 각 어드레스 유닛이 바이트에 해당하는 문자 8 비트에 더하여 C 언어, 16 비트가있는 동안, 바이트는 8 비트이고, 뿐만 아니라 긴 32 비트 유형 짧은 형태, 다음의 길이가 32 비트 정수를 저장하기 위해 우리와 함께 (다른 컴파일러는 동일하지 않습니다)

  (1 개 어드레스 유닛이 8 비트이기 때문에, 데이터의 길이는 네 개의 32 비트 어드레스 위치에 저장 될 필요가있다)

  

 

   또한, 또한 바이트 복수 배열하는 방법의 문제에 직면 폭은 메모리 어드레스 레지스터보다 크므로 처리 프로세서 (8)보다 길이가 16 비트 또는 32 비트 레지스터에 대한.

 

 

 

  

 

 

 

 

 

  

추천

출처www.cnblogs.com/Gaoqiking/p/11614333.html