I play with Python and ctypes, and I cannot figure out how to solve this problem. I call the C function, which fills the raw binary data. My code is as follows:
class Client():
def __init__(self):
self.__BUFSIZE = 1024*1024
self.__buf = ctypes.create_string_buffer(self.__BUFSIZE)
self.client = ctypes.cdll.LoadLibrary(r"I:\bin\client.dll")
def do_something(self):
len_written = self.client.fill_raw_buffer(self.__buf, self.__BUFSIZE)
my_string = repr(self.__buf.value)
print my_string
The problem is that I am getting binary data (from 0x00) and it was truncated when I tried to build my_string. How can I build my_string if self._buf contains null bytes 0x00?
Any idea is welcome. Thanks
source
share