Gripで作成したID3v2タグを含むmp3をiTunesで文字化けしないように変換するプログラム

Gripで作成したmp3をiTunesにインポートすると、ASCIIでない文字がことごとく化けるのでなんでだろうと思っていたら、Grip は文字列フィールドに UTF-8 を入れる際、そのフィールドのエンコーディングUTF-8 ではなく ISO-8859-1 と指定するようなのだ、なぜか。なので、そういうファイルを直すための変換プログラムを書いた。

こういうのはスクリプト言語で書くべきなんだけど、ちょっと興味があったので C で libid3tag を使って書いた。

それにしてもID3v2を扱うライブラリって車輪の再発明の宝庫な気がする。

C / C++でID3v2を扱うものでも少なくとも3種類はある。

libid3はMySQLで有名なBrian Akerによるもの。ちょっとbuggyでアレな感じ。id3libが本家って感じだしドキュメントも一応そろってるけどC++で書いてある。というわけで一番ニュートラルなのがlibid3tagってことになるが、これまたドキュメントが皆無。なので何かの参考になればと思う。