diff --git a/gyp/pylib/gyp/easy_xml.py b/gyp/pylib/gyp/easy_xml.py index ec9453a80a..41fb3c7c79 100644 --- a/gyp/pylib/gyp/easy_xml.py +++ b/gyp/pylib/gyp/easy_xml.py @@ -123,10 +123,10 @@ def WriteXmlIfChanged(content, path, encoding="utf-8", pretty=False, default_encoding = locale.getdefaultlocale()[1] if default_encoding and default_encoding.upper() != encoding.upper(): - if sys.platform == "win32" and sys.version_info < (3, 7): - xml_string = xml_string.decode("cp1251").encode(encoding) - else: - xml_string = xml_string.encode(encoding) + if sys.platform == "win32": + if isinstance(xml_string, str): + xml_string = xml_string.decode("cp1251") # str --> bytes + xml_string = xml_string.encode(encoding) # bytes --> str # Get the old content try: