Форум сайта python.su
0
Всем привет, прошу помощи:
Пытаюсь заставить скрипт работать со сторонней DLL.
Нужно задать коллбэк-функцию с таким описанием typedef bool (*tcallback)(BYTE* pData);
Делаю так:
def testcallback(s): print s .... callback= CFUNCTYPE(c_bool, c_char_p)(testcallback)
def testcallback(s): print s .... callback= CFUNCTYPE(c_bool, c_wchar_p)(testcallback)
Отредактировано nmh (Июль 25, 2012 22:08:38)
Офлайн
14
А не проще ли строку декодировать (хоть и не на 100% правильно)?
Офлайн
0
odnochlenне проще, не хочет декодировать, совсем
А не проще ли строку декодировать (хоть и не на 100% правильно)?
Офлайн
14
s.decode('utf8') не работает?
Офлайн
0
odnochlenне работает.
s.decode('utf8') не работает?
Офлайн
14
Как ты так быстро ответил?
Какая версия питона? Выложи:
print type(s) print repr(s) print s.encode('hex')
Отредактировано odnochlen (Июль 26, 2012 16:42:23)
Офлайн
0
odnochlen
Как ты так быстро ответил?
До этого пробовал, естественно.
odnochlen
Какая версия питона? Выложи:print type(s) print repr(s) print s.encode('hex')
Офлайн
5
А куда происходит вывод строки? и какая ось?
Есть ли строка в начале скрипта? # -*- coding: utf-8 -*-
Отредактировано Piton23 (Июль 26, 2012 21:40:28)
Офлайн
14
print s.encode("utf16").decode("utf8","ignore")
Отредактировано odnochlen (Июль 26, 2012 21:53:16)
Офлайн
0
Piton23Windows 7, сейчас вывод в python shell
А куда происходит вывод строки? и какая ось?
Есть ли строка в начале скрипта? # -*- coding: utf-8 -*-
odnochlenПолучаем тогда такое:
print s.encode(“utf16”).decode(“utf8”,“ignore”)
Офлайн