1

У меня есть метаданные песни (на Winamp):

Я пытаюсь понять, какой художник на самом деле. Пробовал гуглить / гугл переводчик, но не смог найти исполнителя / название на английском. Хотя на одной странице было указано имя "Вагнер", но я слушал многие из его песен, но не нашел его.

Как я могу декодировать его в читаемый формат; на этом языке он был написан (возможно, с использованием Unicode?), так что я могу использовать Google Translate для перевода? Или мне действительно нужно знать язык перед этим?

1 ответ1

2

Это вызвано несоответствием кодировки символов, которое довольно часто встречается при использовании устаревших 8-битных кодировок. Сломанный тег пометил тег ID3 как ISO-8859-1, но фактически закодировал текст в Windows-1251 (который ID3v2 не позволяет). Ваш игрок не знает об этом и думает, что текст соответствует ISO-8859-1. Или, может быть, хуже; он также игнорирует спецификацию ID3 и думает, что тег находится в Windows-1252 или любой другой локальной кодировке. Википедия называет это моджибаке.

(Для программы невозможно надежно провести различие между 8-битными кодировками Windows-125x или ISO-8859-x, кроме как путем статистических предположений, основанных на буквенных частотах, как это делает универсальный декодер, поэтому кодирование должно быть указано явно. Спецификация ID3v1 допускала только ISO-8859-1, но никто не заботился об этом. ID3v2 допускает ISO-8859-1, UTF-8 и UTF-16, причем кодировка указывается в самом теге. К сожалению, не все игроки начали заботиться.)

Универсальный кириллический декодер может помочь; он декодирует "Художник" в Евгений Мравинский.

Если страница не работает, попробуйте этот инструмент или найдите окно Linux с iconv:

echo "garbage" | iconv -t Windows-1252 | iconv -f Windows-1251

(Надеюсь, Winamp узнает лучше и сохранит фиксированные теги в Unicode ...)

Не используйте ID3 версии 1 при пометке музыки, чтобы (в основном) избежать подобных проблем.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .