1

我有一个带有我的艺术家标签的 mp3 俄语。所有英文元数据都正常打印,但俄文显示为问号。如何强制模块使用 unicode 或 utf8 编码?

Python

from ID3 import *
import glob
import re
import os
for name in glob.glob('*.mp3'):
  id3info = ID3(name)
  print id3info

我正在使用这个库:http: //id3-py.sourceforge.net/

4

1 回答 1

4

您不能在 ID3v1 中执行 Unicode,并且该模块仅执行 ID3v1(甚至无法正确执行)。

如果您明确尝试为某些仅 ID3v1 的应用程序标记您的文件,那么您确实需要弄清楚如何欺骗该应用程序读取俄语字符。这很可能是不可能的。但如果不是,那么您可以通过手动预处理字符串来欺骗您的 ID3v1 库输出会欺骗您的应用程序的字符串。

但是,如果您尝试为任何现代应用程序标记您的文件,只需使用 Mutagen、Stagger、PyTagLib 或其他不会过时的东西。他们都会在 ID3v2 标签中导出有效的 Unicode,并尽可能使用 ID3v1 标签(这通常不是很好,但通常没关系)。

于 2012-06-06T22:23:02.350 回答