"\x56\x20"
a(12ビット)とb(4ビット)の2セットのデータであるバイトストリングがあります。
解凍されたデータは次のようになります。
a = 86 b = 2
どこ:
a = int("056", 16)
b = int("2", 16)
binascii
バイト文字列を16進文字列に変換してから、スライスマジックを実行するために 使用できることはわかっていますが、それは面倒なようです。
調べてみましstruct
たが、12ビット/4ビットを分割する方法がわかりませんでした。
>>> import binascii
>>> two_octets = "\x56\x20"
>>> hex_str = binascii.hexlify(two_octets)
>>> temp_a, temp_b = hex_str[:2], hex_str[2:]
>>> a_part, b_part = reversed([c for c in temp_b])
>>> int(a_part + temp_a, 16)
86
>>> int(b_part, 16)
2
>>>
よりクリーンな方法はありますか?