struct.unpack 和 win/lin 中 python 2.4 和 2.4.4 的问题

发布于 2024-12-07 03:36:09 字数 414 浏览 3 评论 0原文

我正在 Linux debian 机器上使用 python 2.4 进行编码。

我的邻居使用 Windows XP 和 python 2.4.4

他可以运行此代码:

w1, w2, w3 = unpack("LLL", pack("LLHH", localtime, ipddr, counter, aid))

但是当我尝试此代码时,我出现此错误:

w1, w2, w3 = unpack("LLL", pack("LLHH", localtime, ipddr, counter, aid))
struct.error: unpack str size does not match format

它可以是 python 的版本还是系统的版本?

i'm coding on a Linux debian machine with python 2.4.

My neighbour with Windows XP and python 2.4.4

He can run this code:

w1, w2, w3 = unpack("LLL", pack("LLHH", localtime, ipddr, counter, aid))

But when i try this code i become this error:

w1, w2, w3 = unpack("LLL", pack("LLHH", localtime, ipddr, counter, aid))
struct.error: unpack str size does not match format

Can it be the Version of python or maybe the system?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蘸点软妹酱 2024-12-14 03:36:09

使用 I 格式代码而不是 L

在 Linux 计算机上,L 的长度不是 H 的两倍,而是四倍 - 8 字节(64 位)而不是 4 字节(32 位) 。

I 两者均应为 4 字节(32 位)。

编辑:请务必阅读 eryksun 的评论。

Use the I format code instead of L.

On your Linux machine, L isn't twice as long as H, it's four times as long -- 8 bytes (64 bits) instead of 4 bytes (32 bits).

I should be 4 bytes (32 bits) on both.

Edit: Make sure to read eryksun's comment.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文