struct.pack和 struct.unpack只做字符串的第一个字符。

问题描述 投票:0回答:1

所以我想打包一个包头,一切都很正常,除了我需要打包的包头标志是字符串外,其他都是只解包字符串的第一个字符。

比如说

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

给我 (b'a')

我到底做错了什么?

python buffer encode packet struct.pack
1个回答
0
投票

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

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

没错

© www.soinside.com 2019 - 2024. All rights reserved.