我有一个带有歌手标记的mp3俄语。所有英语元数据都可以正常打印,但是俄语显示为问号。如何强制模块使用unicode或utf8编码?

蟒蛇

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/

最佳答案

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

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

但是,如果您要为任何现代应用程序标记文件,则只需使用Mutagen,Stagger,PyTagLib或其他尚未过期的文件即可。它们都将在ID3v2标签中导出有效的Unicode,并使用ID3v1标签来做到最好(这通常不太好,但通常没关系)。

关于python - python id3标签unicode,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10923086/

10-09 06:57