Issue #15595: Fix subprocess.Popen(universal_newlines=True)
for certain locales (utf-16 and utf-32 family).
Patch by Chris Jerdonek.
diff --git a/Lib/subprocess.py b/Lib/subprocess.py
index 179f41a..106af8b 100644
--- a/Lib/subprocess.py
+++ b/Lib/subprocess.py
@@ -755,8 +755,8 @@
def _translate_newlines(self, data, encoding):
- data = data.replace(b"\r\n", b"\n").replace(b"\r", b"\n")
- return data.decode(encoding)
+ data = data.decode(encoding)
+ return data.replace("\r\n", "\n").replace("\r", "\n")
def __enter__(self):
return self