Каким образом можно получить кодировку id3v2-тега mp3 файла? Хотелось бы полностью автоматизировать процесс перекодировки в UTF-8 с помощью mp3unicode.
хм, а я вот все свои мп3 конвертировал с помощью easytag. вроде как она отличала utf от cp1251 точнее понимать cp1251 ей надо поставить галочку, а так - и те и другие она читала, и потом сохраняла в уникоде.
Отвечу только на вопрос "как отличить русский текст cp1251 от utf8". И приведу только своё мнение, и только с позиции программиста.
1. Предполагая, что это utf-8, пытаешься расконвертить.
Если неудача - это не utf8, goto 2.
Если удача - проверяешь, получаются только символы ascii + базовая кириллица или нет? Если да - дать ответ utf8, конец проверки. Если нет - похоже на utf8; конец проверки, спросить пользователя.
2. Проверяешь, что все символы из набора cp1251/ascii+кириллица. А именно, 1-127,192-255.
Если да - дать ответ cp1251, конец проверки.
Если нет - похоже на какую-то другую кодировку; спроси пользователя, конец проверки.
Механизм "спросить пользователя" я бы реализовал (в CLI) как вывод предупреждающего сообщения и отказ от каких-либо активных действий с файлом.
И всё же я полагаю, что при аккуратном обращении enca имеет больше шансов. Надо только осторожно относится к его утверждениям о кодировке типа koi8-r - скорее всего, это неправильно опознанное cp1251: