LINUX.ORG.RU

Распаковщик из python в php

 , ,


0

1
struct.unpack('!%df' % blockSize, buf)

! - big-endian, а %df - double/float?

buf по длине - 88 символов

в одном символе 4 байта типа float, соответственно в blockSize = 22

Как это переделать в PHP?

unpack('f', buf); // f - float

★★★★★

Последнее исправление: sniper21 (всего исправлений: 1)

Ответ на: комментарий от zolden

Просто случайно ентер нажал, но лор не был бы лором :)

sniper21 ★★★★★
() автор топика
Последнее исправление: sniper21 (всего исправлений: 1)

а %df - double/float?

>>> blockSize=42; print('!%df' % blockSize)
!42f
>>> 

Это старый способ форматирования строк в питоне. Вместо %d поставляется целое число.

i-rinat ★★★★★
()
Ответ на: комментарий от sniper21

Там просто разные буквы для разных endianness. См. документацию для pack.

i-rinat ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.