Amaury Forgeot d'Arc <amaur...@gmail.com> added the comment: Python 3.1 improves the situation, the file looks more like utf-16, except that the BOM ("\xff\xfe") is repeated all the time, probably on every internal call to file.write().
Here is a test script that should work on both 2.7 and 3.1. from io import BytesIO from xml.etree.ElementTree import ElementTree content = "<?xml version='1.0' encoding='UTF-16'?><html></html>" input = BytesIO(content.encode('utf-16')) tree = ElementTree() tree.parse(input) # Write content output = BytesIO() tree.write(output, encoding="utf-16") assert output.getvalue().decode('utf-16') == content ---------- stage: unit test needed -> needs patch _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue1767933> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com