ID3パーサ

ID3とは、mp3に代表されるような音楽ファイルのヘッダあるいはフッターとして付加されるメタデータの記述フォーマットで、音楽ファイルのメタデータとしては標準的なものである。ID3の仕様・歴史に関しては、id3.orgが詳しい。
ID3には、幾つかのバージョンが存在してるが、ID3v1.0/v1.1と、ID3v2に大別できる。この2つの最も大きな違いは、ID3v1.0/v1.1はあらかじめ決められたメタデータの種類しか保持できない上に固定長の文字列しか保持しないというかなり制限された仕様であるのに対し、ID3v2は、メタデータの種類を拡張していく方法を持ち、保持するデータも可変長であることだろう。
ID3v1.0/v1.1のパーサは、極めて単純に実装可能である。ファイルの最後128バイトを読み、はじめは、先頭から30バイトづつ、タイトル/アーティスト名/アルバム名である。そこからは、年(4バイト)/コメント(30バイト)/ジャンル(1バイト)でおしまい。v1.1の場合、コメントが、28バイトに狭まり、空いた2バイトのうちはじめの1バイトは(v1との違いを判別するための)ヌル文字、後の1バイトに、トラック番号が入る。