1
我應該在struct.unpack
中使用什麼格式來解碼使用w
格式字符(如doc說'BER compressed integer')打包在perl中的數據?相當於Perl的'w'包裝格式的Python
我應該在struct.unpack
中使用什麼格式來解碼使用w
格式字符(如doc說'BER compressed integer')打包在perl中的數據?相當於Perl的'w'包裝格式的Python
我不相信Python的結構模塊支持該格式,它主要只支持在C結構中常見的編碼。 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
可悲的是,這將可能需要打破你的電話解壓到解壓,decode_ber_int和把剩下的東西打開。
感謝您的回答,尤其是代碼示例! –