Wie kann man die Python-C-Typen 'c_wchar_p' und 'c_char_p' neu eingeben?

In Python 3

function_name.restype = c_char_p # returns bytes

Ich habe viele solcher Funktionen und für jede, die ich tun mussstr(ret, 'utf8'). Wie kann ich einen erstellen?custom_c_char_p dass dies automatisch so deklariert werden soll?

function_name.restype = custom_c_char_p # should return str

Die C-Bibliothek gibt auch UTF-16 als ausc_wchar_p was kommt durch alsstr zu python, aber wenn ich es tueret.encode('utf16'), Ich bekommeUnicodeDecodeError.

Wie kann ich anpassen?c_wchar_p um sicherzustellen, dass Python weiß, dass es UTF-16 konvertiert, um eine korrekte Version zu erhaltenstr zurück?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage