Здравствуйте, у меня есть строка в языке Python POINTER(wintypes.BYTE)
Я использую DATA_BLOB в языке Python (
class CREATE_DATA_BLOB(Structure):
_fields_ = [('cbData', wintypes.DWORD), ('pbData', POINTER(wintypes.BYTE))]
), поэтому у меня есть DLL, которая шифрует данные. после шифрования данных данные сохраняются в pbData
структуры data_blob. Проблема в том, что значения внутри pbData
(например, pbData[0]
) содержат -42
, например, некоторые из них находятся в диапазоне от 0 до 255 - они хороши, но некоторые являются совершенно случайными числами, и я не могувыяснить, как превратить эти не-ASCII числа в символ. В c ++ я использую функцию writeFile и просто отправляю pbData
, и все отлично работает в python. Дело не в том, что у меня возникает эта ошибка, если я пытаюсь записать pbData
в текстовый файл:
file.write(data_out.pbData)
TypeError: write() argument must be str, not LP_c_byte
Я действительно не знаю, как решить эту проблему.