Проблемы с python 2.4 и 2.4.4 в struct.unpack и win / lin - PullRequest
1 голос
/ 28 сентября 2011

Я пишу на 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 или, возможно, система?

1 Ответ

3 голосов
/ 28 сентября 2011

Используйте код формата I вместо L.

На вашем Linux-компьютере L не в два раза длиннее H, а в четыре раза длиннее - 8 байт (64 бита) вместо 4 байт (32 бита).

I должно быть 4 байта (32 бита) на обоих.

Редактировать: Обязательно прочитайте комментарий Эриксуна.

...