그것은 당신의 형식 문자열에 하나 >
또는 <
를 사용 가능하다 : 당신이 할 겁니다, 그러나,
import struct
number = 1195855
def print_buffer(buffer):
print(''.join(["%02x" % ord(b) for b in buffer])) # Python 2
#print(buffer.hex()) # Python 3
# Little Endian
buffer = struct.pack("<L", number)
print_buffer(buffer) # 4f3f1200
# Big Endian
buffer = struct.pack(">L", number)
print_buffer(buffer) # 00123f4f
주 L
은 4 바이트를 줄 것이므로 버퍼에서 빈 바이트를 제거하는 방법을 파악하십시오.
buffer = struct.pack("<L", number)
print_buffer(buffer[:3]) # 4f3f12
# Big Endian
buffer = struct.pack(">L", number)
print_buffer(buffer[-3:]) # 123f4f
하나 개의 방법이 될 것입니다 : 당신은 단지 같은 3
뭔가를 원한다.
'buffer = struct.pack ("L", number) [1 :]'첫 번째 바이트를 삭제하는 트릭을 수행합니다. – smarx
'struct.pack ('>'L ', 1195855)의 b에 대해 [assert [hex (b) (b)] [= 1]'0x12 ','0x3f ','0x4f ']' – smarx
AttributeError : 'str'객체 'hex'속성이 없습니다. 이 오류는 무엇을 말하고 있습니까? – saeed