[issue26018] documentation of ZipFile file name encoding

New submission from Martin von Gagern: https://docs.python.org/3/library/zipfile.html#zipfile.ZipFile.write writes: “Note: There is no official file name encoding for ZIP files. If you have unicode file names, you must convert them to byte strings in your desired encoding before passing them to write(). WinZip interprets all file names as encoded in CP437, also known as DOS Latin.” I think this is wrong in many ways. Firstly, APPNOTE.TXT used to explicitely define CP437 as the standard, and it's still the standard in the absence of general purpose bit 11 and a more specific description using the 0x0008 Extra Field. On the other hand, we do have that general purpose bit these days, so there are now not just one but two well-defined file name encodings. And thirdly, encoding the string to bytes as suggested will in fact lead to a run time error, since ZipInfo expects to do this conversion itself. See work towards issue1734346, starting at commit 8e33f316ce14, for details on when this was addressed in the source code. ---------- assignee: docs@python components: Documentation messages: 257567 nosy: docs@python, gagern priority: normal severity: normal status: open title: documentation of ZipFile file name encoding type: behavior versions: Python 3.5 _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue26018> _______________________________________

Changes by Serhiy Storchaka <storchaka@gmail.com>: ---------- stage: -> needs patch _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue26018> _______________________________________

Change by Cheryl Sabella <chekat2@gmail.com>: ---------- keywords: +easy versions: +Python 3.7, Python 3.8 -Python 3.5 _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue26018> _______________________________________

Windson Yang <wiwindson@outlook.com> added the comment: I can't find the Note in the current document ---------- nosy: +Windson Yang versions: +Python 3.4, Python 3.5 -Python 3.7, Python 3.8 _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue26018> _______________________________________

Windson Yang <wiwindson@outlook.com> added the comment: Please ignore the last message, the docs locate in 3.4 and 3.5 ---------- _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue26018> _______________________________________

Serhiy Storchaka <storchaka+cpython@gmail.com> added the comment: This not have been removed in issue32035. 3.4 and 3.5 currently take only security fixes. ---------- nosy: +serhiy.storchaka resolution: -> out of date stage: needs patch -> resolved status: open -> closed _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue26018> _______________________________________
participants (4)
-
Cheryl Sabella
-
Martin von Gagern
-
Serhiy Storchaka
-
Windson Yang