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)
しかし、それは素晴らしい解決策だとは思いません