[prg] python - ctypes унифицированные классы для c_char_p/c_wchar_p и c_char/c_wchar

Здравствуйте.
есть кросс-платформенная библиотека которая на windows использует юникодовые
строки, тоесть wchar, а в остальных случаях char.
в python3 - ctypes такая проблемма, что c_char принимает байты, а c_wchar
строки.
каким образом можно сделать класс, в который передаватся и возвращаться
будут строковые данные?
я сделал custom класс и в качестве from_param указал закодированную строку в
байты, и также метод _check_retval возвращает декодированные байты в строку,
но это не везьде работает.
например, если я в структуре в качестве типа поля указываю свой кастомный
тип выше созданный, то декодирование не происходит, также если я в argtypes
передаю char_array данные не кодируються в байты.
может быть есть какой-то путь это решить, и получить кроссплатформенный клас
для c_char/c_wchar и c_char_p/c_wchar_p который принимал бы простые строки и
уже внутри решал по условиям операционной системы, если linux
c_char/c_char_p где и надо при входных параметрах кодировать в байты, и при
возврате на оборот декодировать байты в строки.
спасибо
Для определения ОС в python есть встроенные вещи:
import sys
if sys.platform == "win32":
# windows
elif sys.platform == "linux" or sys.platform == "linux2":
# linux
elif sys.platform == "darwin":
#OS X
10.11.2019 7:27, gozaltech пишет:
юникодовые
клас
и
при