latexcodec剥离斜杠但不翻译字符(Python)



我正在尝试处理一些通过Pybtex转换为XML树的Bibtex条目。我想继续通过latexcodec处理从LaTeX特殊到unicode字符的所有特殊字符。通过问题 pybtex 是否支持 .bib 文件中的重音/特殊字符?和文档我已经检查了语法,但是,我没有得到正确的输出。

>>> import latexcodec
>>> name = 'Br"{u}derle'
>>> name.decode('latex')
u'Br"{u}derle'

我已经在不同的字符串和特殊字符中对此进行了测试,并且总是它只是去除第一个斜杠而不翻译字符。我应该以不同的方式使用乳胶编码器来获得正确的输出吗?

您的反斜杠根本不包含在字符串中,因为它被视为字符串转义,因此编解码器永远不会看到它:

>>> print 'Br"{u}derle'
Br"{u}derle

使用原始字符串:

name = r'Br"{u}derle'

或者,尝试从文件中读取实际数据,在这种情况下,原始/非原始区别无关紧要。 (这种区别仅适用于 Python 源代码中的文字字符串。

最新更新