0

id3 タグは Unicode として読み込まれますが、実際には GBK でエンコードされているため、mutagen を使用して mp3 メタデータを読み込みまし。これをpythonで修正するには?

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

生産する

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

しかし、実際には GBK (中国語) である必要があります。

当你孤单你会想起谁
4

2 に答える 2

4

文字列が間違ったエンコーディング (latin-1) を使用して Unicode にデコードされたようです。

それをバイト文字列にエンコードしてから、正しいエンコーディングを使用してユニコードにデコードする必要があります。

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')
当你孤单你会想起谁
于 2010-02-03T09:46:12.490 に答える
2

を使用した自動デコードのようlatin1です。修正するには:

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

Python 2.xでテストされていますが、3でも正常に動作するはずです。

于 2010-02-03T09:41:25.963 に答える