Manuel Jacob email@example.com added the comment:
If the encoding supports it, since which Python version do Py_DecodeLocale() and os.fsencode() roundtrip?
The background of my question is that Mercurial goes some extra rounds to determine the correct encoding to emulate what Py_EncodeLocale() would do: https://www.mercurial-scm.org/repo/hg/file/5.4.1/mercurial/pycompat.py#l157 . If os.fsencode() could be used, it would simplify the code. Mercurial supports Python 3.5+.