我正在使用XmlDocument类读取XML文件,但每当它读取属性的值时,它会将“æ”,“ø”和“å”等丹麦字符转换为\ xf8,这样后来会生成匹配正则表达式失败。
我试过这样做:
XMLDoc = XmlDocument()
XMLDoc.Load(StreamReader(path, Encoding.GetEncoding("ISO-8859-1")))
但是当我这样做时:
tablename = N.GetAttribute("TableName")
它仍然出现:
u'Reg_konto_bel \ xf8b'
我希望它简单地说:Reg_konto_beløb Xml文件以ISO-8859-1编码 我还宣称在.py文件的顶部
# encoding: ISO-8859-1
有人可以帮忙吗?提前致谢
答案 0 :(得分:-1)
您在python文件(PEP 0263)上指定的编码应该对.NET的XML库中发生的事情没有影响。 XML文件的编码应该在文件本身中指定,或者在阅读时明确指定。
即使您的XML文件很可能以正确的编码存储并使用正确的编码进行读取,strings in .NET的内存表示也是使用Unicode完成的。 小写 u -prefix指出以下字符串是Unicode字符串。
现在使用Unicode是许多技术的默认设置,您应该评估使用Unicode表达正则表达式和其他处理步骤是否是最灵活和容错的解决方案。