Чтение / запись Юникода в ID3v2 с использованием jid3lib - PullRequest
3 голосов
/ 04 июля 2011

Я пытаюсь написать приложение, используя jid3lib, и почти все работает с точки зрения чтения / записи id3v1, но для Unicode v2 я не могу найти наилучший способ преобразования Unicode в пригодную для использования строку изатем перекодируем его, чтобы записать обратно во фрейм.

Я нашел CharsetDecoder и CharsetEncoder, но, похоже, они ничего не меняют.

MP3File mp3file = new MP3File(f);
AbstractID3v2 tag = mp3file.getID3v2Tag();
String title = tag.getSongTitle();
System.out.println("Title : " + convertCharset(title));

, где convertCharset:

private static String convertCharset(String text) {
    Charset charset = Charset.forName("ISO-8859-1");
    CharsetDecoder decoder = charset.newDecoder();
    CharsetEncoder encoder = charset.newEncoder();
    try {
        ByteBuffer bbuf = encoder.encode(CharBuffer.wrap(text));
        CharBuffer cbuf = decoder.decode(bbuf);
        return cbuf.toString();
    } catch (CharacterCodingException e) {
        e.printStackTrace();
    }
    return null;
}

Вывод выглядит так: http://i.stack.imgur.com/RLbKe.png

Большое спасибо заранее за любую помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...