Как я преобразовываю пакет Perl 'Nc*' формат к struct.pack для Python?

Перечисления еще хуже. При понимании случая превратно где угодно используется перечисление, изменяет случай определения.

5
задан brian d foy 6 October 2009 в 20:58
поделиться

2 ответа

Как насчет этого?

struct.pack('>I', some_integer) + struct.pack('b'*len(long_array), *long_array)
7
ответ дан 14 December 2019 в 04:42
поделиться

Пакет Perl использует символ '*', аналогичный тому, который используется в регулярных выражениях - -значение подстановочного знака для более того же. Здесь, конечно, это означает больше целых чисел со знаком.

В Python вы просто перебираете строку и объединяете части:

result = struct.pack('>L', some_integer)
for c in long_array_of_integers:
    result += struct.pack('b',c)
1
ответ дан 14 December 2019 в 04:42
поделиться