Question

pour Mutagène lire les métadonnées mp3, puisque la balise id3 est lu comme unicode, mais en fait, il est GBK codé. comment corriger en python?

audio = EasyID3(name)
title = audio["title"][0] 
print title
print repr(title)

produit

µ±Äã¹Âµ¥Äã»áÏëÆðË­
u'\xb5\xb1\xc4\xe3\xb9\xc2\xb5\xa5\xc4\xe3\xbb\xe1\xcf\xeb\xc6\xf0\xcb\xad'

mais en fait, il devrait être GBK (chinois).

当你孤单你会想起谁
Était-ce utile?

La solution

Il semble que la chaîne a été décodé en unicode en utilisant le mauvais encodage (latin-1).

Vous devez encoder une chaîne d'octets, puis décoder revenir à unicode en utilisant l'encodage correct.

title = u'\xb5\xb1\xc4\xe3\xb9\xc2\xb5\xa5\xc4\xe3\xbb\xe1\xcf\xeb\xc6\xf0\xcb\xad'
print title.encode('latin-1').decode('gbk')
当你孤单你会想起谁

Autres conseils

On dirait qu'il utilise latin1 auto-décodage. Pour résoudre:

>>> title = u'\xb5\xb1\xc4\xe3\xb9\xc2\xb5\xa5\xc4\xe3\xbb\xe1\xcf\xeb\xc6\xf0\xcb\xad'
>>> print title.encode('latin1').decode('GBK')
当你孤单你会想起谁

Testé en Python 2.x mais devrait fonctionner correctement dans 3 ainsi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top