Como traduzir metadados malucos para formato legível?

1

Este é um metadado da música que tenho (no Winamp):

Estoutentandodescobrirqualartistarealmenteé.Tenteigoogling/googletranslate,masnãoconseguiencontraroartista/títuloeminglês.Embora,umapáginamostrasseonome"Wagner" lá, mas eu escutei muitas de suas músicas, mas não a encontrei.

Como posso decodificá-lo em formato legível; nessa linguagem foi escrito em (usando unicode talvez?), então eu posso usar o google translate para traduzi-lo? Ou eu realmente preciso saber o idioma antes de fazer isso?.

    
por Rookie 29.10.2012 / 21:01

1 resposta

2

Isso é causado por incompatibilidade de codificação de caracteres, que é bastante comum quando são usadas codificações legadas de 8 bits. Um tagger quebrado marcou a tag ID3 como sendo ISO-8859-1, mas na verdade codificou o texto no Windows-1251 (que o ID3v2 não permite). Seu jogador não sabe e acha que o texto está em ISO-8859-1. Ou talvez pior; ele também ignora a especificação ID3 e acha que a tag está no Windows-1252 ou qualquer que seja sua codificação local. A Wikipedia chama isso de mojibake .

(É impossível para um programa diferenciar de forma confiável entre as codificações de 8 bits do Windows-125x ou ISO-8859-x além de fazer estimativas estatísticas baseadas em frequências de letras como o Universal Decoder faz, portanto a codificação deve ser especificada A especificação ID3v1 permitia apenas ISO-8859-1, mas ninguém se importava com isso, o ID3v2 permitia ISO-8859-1, UTF-8 e UTF-16, sendo a codificação especificada na própria tag. os jogadores começaram a se importar.)

O Decodificador Cirílico Universal pode ajudar; decodifica "Artista" para Вгений Мравинский .

Se a página não funcionar, tente esta ferramenta ou encontre uma caixa do Linux que tenha iconv :

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

(Com sorte, o Winamp saberá melhor e armazenará as tags fixas no Unicode ...)

Não use o ID3 versão 1 ao marcar músicas para (principalmente) evitar tais problemas.

    
por 29.10.2012 / 21:28