python 解压缩函数_在python中解压缩函数

我试图理解Python中的unpack函数以及它如何使用格式字符串.

我使用的格式字符串“I”对应于unsigned int(size,4 bytes)作为示例.

根据文档,unpack函数将接受一个字符串并根据格式字符串将其转换为值列表.

所以,我使用输入值作为字符串,“test”,这是输出:

>>> import struct

>>> input="test"

>>> l = struct.unpack("I", input)[0]

>>> print l

1953719668

我试图了解输出值是如何从输入中获得的.

>>> from struct import *

>>> calcsize('I')

4

‘I’的大小是4个字节.

字符串,“test”有4个字符,即4个字节.

我尝试将每个字符转换为相应的十六进制ASCII值并以小端顺序存储,但它与上面的输出不匹配.

任何帮助,将不胜感激.

解决方法:

如果要按原样解压缩字符串,请使用4s.

>>> struct.unpack('4s', 'test')[0]

'test'

1953719668派生自:( little endian)

>>> ord('t') + (ord('e') << 8) + (ord('s') << 16) + (ord('t') << 24)

1953719668

标签:python,unpack

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值