この質問が以前に尋ねられたことは知っていますが、いくつかの提案は、文字列をバイトリテラルにするために ab が必要であるように思われます。ただし、関数に 16 進コードを 0x414243 として渡して、ABC として保存しています。
def _pack(_data, size):
numofbytes = size/8
print("Chars Expected: " + str(numofbytes))
formatString = "{}s".format(int(numofbytes))
print("Formatted String:" + formatString)
struct.pack(formatString,_data)
_pack(0x414243,24)
ここで何を変更すればよいかわかりません。フォーマット文字列変数の使用方法に問題があるのではないかと思っています。サイズから渡されたデータに含まれる文字数を関数が計算できるようにしたいのですが、この場合は 24 ビット = 3 バイトなので、3 をフォーマットし、0x414243 を渡して ABC に変換します。
誰でもエラーを回避する方法をアドバイスできますか。