summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@haypocalc.com>2010-10-09 10:34:37 (GMT)
committerVictor Stinner <victor.stinner@haypocalc.com>2010-10-09 10:34:37 (GMT)
commit62165d67a25229fee85c98cef9d1feaf109b1339 (patch)
tree77193a4f306941b520b8aa5c5eed8611c00fa1a7 /Doc
parent257d38ffdd5e85c17e14d63e1930e4756864878f (diff)
downloadcpython-62165d67a25229fee85c98cef9d1feaf109b1339.zip
cpython-62165d67a25229fee85c98cef9d1feaf109b1339.tar.gz
cpython-62165d67a25229fee85c98cef9d1feaf109b1339.tar.bz2
Document that the 'strict' error handler is used to encode/decode filenames on
Windows
Diffstat (limited to 'Doc')
-rw-r--r--Doc/c-api/unicode.rst19
-rw-r--r--Doc/library/os.rst8
2 files changed, 15 insertions, 12 deletions
diff --git a/Doc/c-api/unicode.rst b/Doc/c-api/unicode.rst
index 8f9e994..dac01a4 100644
--- a/Doc/c-api/unicode.rst
+++ b/Doc/c-api/unicode.rst
@@ -412,26 +412,33 @@ used, passing :c:func:`PyUnicode_FSDecoder` as the conversion function:
.. c:function:: PyObject* PyUnicode_DecodeFSDefaultAndSize(const char *s, Py_ssize_t size)
- Decode a null-terminated string using :c:data:`Py_FileSystemDefaultEncoding`
- and the ``"surrogateescape"`` error handler.
+ 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.
- Use :c:func:`PyUnicode_DecodeFSDefaultAndSize` if you know the string length.
+ .. versionchanged:: 3.2
+ Use ``'strict'`` error handler on Windows.
.. c:function:: PyObject* PyUnicode_DecodeFSDefault(const char *s)
- Decode a string using :c:data:`Py_FileSystemDefaultEncoding` and
- the ``"surrogateescape"`` error handler.
+ Decode a null-terminated 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.
+ Use :c:func:`PyUnicode_DecodeFSDefaultAndSize` if you know the string length.
+
+ .. 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.
diff --git a/Doc/library/os.rst b/Doc/library/os.rst
index b22c2e9..92bd606 100644
--- a/Doc/library/os.rst
+++ b/Doc/library/os.rst
@@ -158,9 +158,7 @@ process and user.
.. 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.
@@ -170,9 +168,7 @@ process and user.
.. 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.