【问题标题】:python id3 tag unicodepython id3标签unicode
【发布时间】:2012-06-06 22:15:04
【问题描述】:

我有一个带有我的艺术家标签的俄语 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/

【问题讨论】:

  • 由于没有称为 ID3 的标准库,并且您可以使用多个不同的第三方库,因此您必须先告诉我们它是哪一个,然后我们才能提供帮助。
  • 我的错,我包括了我现在使用的东西
  • 好的,答案是,不要使用那个模块……见下文。

标签: python mp3 metadata id3


【解决方案1】:

您不能在 ID3v1 中使用 Unicode,而该模块只能使用 ID3v1(而且它甚至无法正确使用)。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-22
    • 2017-08-24
    • 2021-01-20
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多