【发布时间】:2014-04-06 07:09:54
【问题描述】:
所以一旦我弄清楚到底发生了什么,这个问题基本上是第一个。我阅读了很多关于编码解码和 XML 标准的内容,但我没有找到这个特定主题的答案。
import elementtree.ElementTree as ET
root = ET.Element("Prüfung")
main = ET.SubElement(root,'Test')
main.text='\xe4 '+'ä'.decode('UTF-8')
tree=ET.ElementTree(root)
tree.write('testout.xml')
我的第一个问题是在main.text='\xe4 '+'ä'.decode('UTF-8') 行。我知道,\xe4 是字母 ä 的代码,这是否意味着我必须将传递给我的解释器的每个字符串解码为 utf-8 才能正常工作?因为当我使用 python 的 readline 方法从 .txt 文件中读取特殊字符时,它们似乎已经被正确解码。
一个相关但略有不同的问题是root = ET.Element("Prüfung") 行。似乎不可能在 XML 标签中使用非 ASCII 字符(至少不能使用元素树)。这是因为 XML 标准还是基本上只是另一个解码/编码问题?
【问题讨论】:
标签: python utf-8 elementtree