From 944e634afe6301d77fa2e36437df2873df9429f9 Mon Sep 17 00:00:00 2001 From: Oleg Iarygin Date: Wed, 10 May 2023 07:36:47 +0400 Subject: [PATCH] Change the first-attempt zipfile encoding to cp437 --- Lib/zipfile/__init__.py | 2 +- .../next/Library/2023-05-10-07-34-47.gh-issue-84353.T4P5Ls.rst | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Library/2023-05-10-07-34-47.gh-issue-84353.T4P5Ls.rst diff --git a/Lib/zipfile/__init__.py b/Lib/zipfile/__init__.py index 95c047991f872b..5750d39b791b32 100644 --- a/Lib/zipfile/__init__.py +++ b/Lib/zipfile/__init__.py @@ -487,7 +487,7 @@ def FileHeader(self, zip64=None): def _encodeFilenameFlags(self): try: - return self.filename.encode('ascii'), self.flag_bits + return self.filename.encode('cp437'), self.flag_bits except UnicodeEncodeError: return self.filename.encode('utf-8'), self.flag_bits | _MASK_UTF_FILENAME diff --git a/Misc/NEWS.d/next/Library/2023-05-10-07-34-47.gh-issue-84353.T4P5Ls.rst b/Misc/NEWS.d/next/Library/2023-05-10-07-34-47.gh-issue-84353.T4P5Ls.rst new file mode 100644 index 00000000000000..fe5d5675c9c85d --- /dev/null +++ b/Misc/NEWS.d/next/Library/2023-05-10-07-34-47.gh-issue-84353.T4P5Ls.rst @@ -0,0 +1,2 @@ +:mod:`zipfile` now knows that old zip files were saved in cp437 (OEM-US), +not in ASCII.