Message113740
Lib/os.py may also be patched to add a Python implementation. Eg.
def fsdecode(value):
if isinstance(value, str):
return value
elif isinstance(value, bytes):
encoding = sys.getfilesystemencoding()
if encoding == 'mbcs':
return value.decode(encoding)
else:
return value.decode(encoding, 'surrogateescape')
else:
raise TypeError("expect bytes or str, not %s" % type(value).__name__)
--
Note: Solution (1) (use bytes API) is not deprecated by this issue. PyUnicode_FSConverter is still useful if the underlying library has a bytes API (eg. OpenSSL only supports char*).
Solution (2) is preferred if we have access to a character API, eg. Windows wide character API. |
|
Date |
User |
Action |
Args |
2010-08-13 01:47:37 | vstinner | set | recipients:
+ vstinner, lemburg, loewis |
2010-08-13 01:47:36 | vstinner | set | messageid: <1281664056.8.0.177000394356.issue9542@psf.upfronthosting.co.za> |
2010-08-13 01:47:35 | vstinner | link | issue9542 messages |
2010-08-13 01:47:35 | vstinner | create | |
|