首页 > 解决方案 > struct.pack 和 struct.unpack 只做字符串的第一个字符

问题描述

因此,我正在尝试打包数据包标头,并且一切正常,除了我需要打包的标头标志,因为字符串仅解包字符串的第一个字符。

例如,

string = "ahhhhhh"
buffer = pack("s", string.encode('UTF-8'))
list = unpack("s", buffer)
print(list)

给我(b'a')

我究竟做错了什么?

标签: pythonbufferencodepacketstruct.pack

解决方案


啊,所以对于我的格式字符串,我必须指定要打包的字符串中的字符数

string = "ahhhhhh"
buffer = pack("7s", string.encode('UTF-8'))
list = unpack("7s", buffer)
print(list)

是正确的


推荐阅读