struct.pack 和 encode 是否产生相同的字节字符串?蟒蛇

问题描述

我对 struct.pack()encode间的区别感到很困惑。据我了解,struct.pack()encode输出都是字节串。而 struct.pack() 用于将数字转换为字节,而 encode 用于将字符串转换为字节。我的理解对吗?

那么如果 struct.pack('format',something)something.encode('utf-8') 返回相同的字节串怎么办。那么如何判断字节串代表的是数字还是字符串呢? 例如:

bstring = b'\xc3\xa9'
a = bstring.decode('utf-8')
b = struct.unpack('>H',bstring)
print(a,b)

>>>é (50089,)   #see,using different converting methods return different results

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)