Frage

i verwendet Mutagen die MP3-Metadaten zu lesen, da der ID3-Tag eingelesen als Unicode, aber es ist in der Tat GBK codiert. wie dies in Python korrigieren?

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

erzeugt

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

, aber in der Tat soll es in GBK (chinesisch) sein.

当你孤单你会想起谁
War es hilfreich?

Lösung

Es sieht aus wie die Zeichenfolge in Unicode decodiert wurden die falsche Codierung (Latin-1).

Sie müssen es auf einen Byte-String kodieren und dann auf Unicode dekodieren wieder die richtige Codierung.

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')
当你孤单你会想起谁

Andere Tipps

Sieht aus wie es die Auto-Decodierung mit latin1. Um dies zu beheben:

>>> 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')
当你孤单你会想起谁

in Python 2.x getestet, sollte aber fein in 3 so gut.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top