A pygame function or method which takes a file path argument will accept
either a Unicode or a byte (8-bit or ASCII character) string.
Unicode strings are translated to Python's default filesystem encoding,
as returned by sys.getfilesystemencoding(). A Unicode code point
above U+FFFF (
\uFFFF) can be coded directly with a 32-bit escape sequences
\Uxxxxxxxx), even for Python interpreters built with an UCS-2
(16-bit character) Unicode type. Byte strings are passed
to the operating system unchanged.
Null characters (
\x00) are not permitted in the path, raising an exception.
An exception is also raised if an Unicode file path cannot be encoded.
How UTF-16 surrogate codes are handled is Python-interpreter-dependent.
Use UTF-32 code points and 32-bit escape sequences instead.
The exception types are function-dependent.
Edit on GitHub