bpo-29240: PEP 540: Add a new UTF-8 mode by vstinner · Pull Request #855 · python/cpython
vstinner
changed the title
bpo-: 29240: Implement the PEP 540
bpo-29240: Implement the PEP 540
vstinner
changed the title
bpo-29240: Implement the PEP 540
[WIP don't review yet!] bpo-29240: Implement the PEP 540
vstinner
changed the title
[WIP don't review yet!] bpo-29240: Implement the PEP 540
[WIP] bpo-29240: Implement the PEP 540
vstinner
changed the title
[WIP] bpo-29240: Implement the PEP 540
bpo-29240: Implement the PEP 540
vstinner
changed the title
bpo-29240: Implement the PEP 540
bpo-29240: PEP 540: Add a new UTF-8 mode
* Add -X utf8 command line option, PYTHONUTF8 environment variable and a new sys.flags.utf8_mode flag. * If the LC_CTYPE locale is "C" at startup: enable automatically the UTF-8 mode. * Add _winapi.GetACP(). encodings._alias_mbcs() now calls _winapi.GetACP() to get the ANSI code page * locale.getpreferredencoding() now returns 'UTF-8' in the UTF-8 mode. As a side effect, open() now uses the UTF-8 encoding by default in this mode. * Py_DecodeLocale() and Py_EncodeLocale() now use the UTF-8 encoding in the UTF-8 mode. * Update subprocess._args_from_interpreter_flags() to handle -X utf8 * Skip some tests relying on the current locale if the UTF-8 mode is enabled. * Add test_utf8mode.py. * _Py_DecodeUTF8_surrogateescape() gets a new optional parameter to return also the length (number of wide characters). * pymain_get_global_config() and pymain_set_global_config() now always copy flag values, rather than only copying if the new value is greater than the old value.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters