mp3タグ編集ライブラリ覚書

Y君に付き合って簡単な調査をしてみた。そしてわかった注意点。
jaudiotaggerを使う時は、以下の用にタグ情報の文字コードunicode(UTF-16)に指定する事を忘れない事。


TagOptionSingleton.getInstance().setId3v23DefaultTextEncoding((byte)0x01);
TagOptionSingleton.getInstance().setId3v24DefaultTextEncoding((byte)0x01);


参考)http://www.id3.org/id3v2.4.0-structurehttp://www.jthink.net/jaudiotagger/examples_preferences.jsp


でないと、asciiと非MBCSなコードページ依存の文字のみで構成される文字項目値(例:ÁBCÐÆ)はエンコードされない(ISO8859でエンコードされるという表現の方が正しいのか?)ようだ。これはShiftJISの半角カナ領域などと被るため(のはず)、文字化けが発生する。
ここで、上のように、デフォルトエンコードを指定していれば、しっかりUTF-16エンコードされる。当然文字化けなし。
なお、なぜか日本語(MBCS)が混じっていると(例:ÁBCÐÆあ)、上の指定をしなくてもUTF-16エンコードされる。
と、ちょっと変な動きをするので注意が必要。