Я не верю, что структурный модуль python поддерживает этот формат, он в основном поддерживает только те кодировки, которые обычно встречаются в структурах Си. Кодировки BER и DER обычно встречаются только в кодированных потоках ASN.1 ... в этом случае может пригодиться один из модулей Python ASN.1 (я должен отметить, что они , а не удобны для пользователя).
Если нет, вам, возможно, придется реализовать декодер самостоятельно. Следующий бит кода будет считывать int и возвращать, где в строке должна быть распакована строка ...
def decode_ber_int(data, offset):
value = 0
while True:
tmp = ord(data[offset])
value = (value<<7) | (tmp&0x7f)
offset += 1
if tmp & 0x80 == 0:
break
return value, offset
К сожалению, для этого, вероятно, потребуется разбить ваш вызов распаковки на unpack, decode_ber_int и распаковать остальные.