ID3v2.3 タグは 4 バイトあるので整理しましたが、ここでのフレームのヘッダー タグは合計 3 バイトであり、4 バイトではありませんstruct.unpack。intそれから。
たとえば、私が現在取り組んでいるタグは次のとおりですTT2\x00\x00\x0c\x00Torn Within。TT2は名前識別子、\x00\x00\x0cはサイズ識別子です。タグの内容は で\x00Torn Within、サイズは 12 バイトです。
曲の ID3 ヘッダーもここにあります。'ID3\x02\x00\x00\x00\x04NP'、エンコーディングとフラグが設定されていないことがわかります。
私は試しましstruct.unpack('>3b', '\x00\x00\x0c')たが、それは個々のバイトの値を取得するだけです。
しかし、その後\x00、サイズタグの先頭に a を追加しないと先に進めないため、行き詰まります。私は何をしますか?
ID3 タグのドキュメントhttp://id3.org/id3v2-00と、structモジュールのドキュメントhttp://docs.python.org/library/struct.html#format-charactersを次に示します。
編集は私がこれを行うことができることを発見しました:int(binascii.hexlify('\x00\x00\x0c'), 16)しかし、それは素晴らしい解決策だとは思いません