Commits

Victor Stinner  committed 2d164b1

Document that the 'strict' error handler is used to encode/decode filenames on
Windows

  • Participants
  • Parent commits 0c4884d

Comments (0)

Files changed (2)

File Doc/c-api/unicode.rst

 
 .. c:function:: PyObject* PyUnicode_DecodeFSDefaultAndSize(const char *s, Py_ssize_t size)
 
+   Decode a string using :c:data:`Py_FileSystemDefaultEncoding` and the
+   ``'surrogateescape'`` error handler, or ``'strict'`` on Windows.
+
+   If :c:data:`Py_FileSystemDefaultEncoding` is not set, fall back to UTF-8.
+
+   .. versionchanged:: 3.2
+      Use ``'strict'`` error handler on Windows.
+
+
+.. c:function:: PyObject* PyUnicode_DecodeFSDefault(const char *s)
+
    Decode a null-terminated string using :c:data:`Py_FileSystemDefaultEncoding`
-   and the ``"surrogateescape"`` error handler.
+   and the ``'surrogateescape'`` error handler, or ``'strict'`` on Windows.
 
    If :c:data:`Py_FileSystemDefaultEncoding` is not set, fall back to UTF-8.
 
    Use :c:func:`PyUnicode_DecodeFSDefaultAndSize` if you know the string length.
 
-
-.. c:function:: PyObject* PyUnicode_DecodeFSDefault(const char *s)
-
-   Decode a string using :c:data:`Py_FileSystemDefaultEncoding` and
-   the ``"surrogateescape"`` error handler.
-
-   If :c:data:`Py_FileSystemDefaultEncoding` is not set, fall back to UTF-8.
+   .. versionchanged:: 3.2
+      Use ``'strict'`` error handler on Windows.
 
 
 .. c:function:: PyObject* PyUnicode_EncodeFSDefault(PyObject *unicode)
 
    Encode a Unicode object to :c:data:`Py_FileSystemDefaultEncoding` with the
-   ``'surrogateescape'`` error handler, and return :class:`bytes`.
+   ``'surrogateescape'`` error handler, or ``'strict'`` on Windows, and return
+   :class:`bytes`.
 
    If :c:data:`Py_FileSystemDefaultEncoding` is not set, fall back to UTF-8.
 

File Doc/library/os.rst

 .. function:: fsencode(filename)
 
    Encode *filename* to the filesystem encoding with ``'surrogateescape'``
-   error handler, return :class:`bytes` unchanged. On Windows, use ``'strict'``
-   error handler if the filesystem encoding is ``'mbcs'`` (which is the default
-   encoding).
+   error handler, or ``'strict'`` on Windows; return :class:`bytes` unchanged.
 
    :func:`fsdecode` is the reverse function.
 
 .. function:: fsdecode(filename)
 
    Decode *filename* from the filesystem encoding with ``'surrogateescape'``
-   error handler, return :class:`str` unchanged. On Windows, use ``'strict'``
-   error handler if the filesystem encoding is ``'mbcs'`` (which is the default
-   encoding).
+   error handler, or ``'strict'`` on Windows; return :class:`str` unchanged.
 
    :func:`fsencode` is the reverse function.