Определить кодировку тегов id3v2 файла mp3
Я пытаюсь определить кодировку тегов. С помощью eyeD3 file.mp3
выводит информацию о файле, однако моя программа на C++ выводит нечитаемый мусор в качестве заголовка для некоторого mp3-файла, который, как я полагаю, связан с кодировкой.
Есть ли способ, как найти кодировку тега?
2 ответа
Вы можете использовать Mid3v2 , который входит в состав Mutagen.
В системах на базе Debian, таких как Ubuntu и т. д., установите его с помощью
sudo apt install python3-mutagen
Чтобы перечислить теги с их кодировкой:
mid3v2 --list-raw "$Your_File"
Чтобы избежать перечисления шестнадцатеричного дампа встроенных изображений и т. д., вы можете ограничить вывод текстовыми полями только путем передачи по конвейеруgrep
mid3v2 --list-raw "$Your_File" | grep '^T'
Согласно стандарту (раздел 4.2.2):
Текстовые фреймы помечены байтом кодировки.
- $ 00 - ISO-8859-1 (LATIN-1, идентичен ASCII для значений меньше 0x80).
- $ 01 - UCS-2 (Unicode в кодировке UTF-16 с BOM), в ID3v2.2 и ID3v2.3.
- $ 02 - кодировка UTF-16BE в кодировке Unicode без спецификации, в ID3v2.4.
- $ 03 - Юникод в кодировке UTF-8, в ID3v2.4.