Я пытаюсь записать вывод вывода python zlib в строку c ++. Вопрос очень похож на вывод Python zlib, как восстановить из таблицы mysql utf-8? здесь, однако, разница в том, что мой скрипт на python генерирует файл заголовка C ++, где сжатые данные должны храниться как строка. Однако из-за специальных символов и необработанных байтов я не могу заставить C ++ читать это как строку. Причина, по которой я не могу записать его в файл и затем вернуть его обратно в программу на c ++, заключается в том, что это может быть компонент драйвера и, следовательно, чтение файлов запрещено.
Вот небольшой пример того, что я пытаюсь.
compressed_string = zlib.compress("This is a huge string. Around 263KB")
fptr = open('my_header.h', 'w')
content = "#ifndef __HEADER_DEFS__\n\
#define __HEADER_DEFS__\n\
\n\
#include \n\
\n\
std::string binary_compressed = \"%s\" \n\
\n\
#endif" % compressed_string
fptr.write(content)
fptr.close()
Однако строка, которую я сжимаю, - это огромные данные, в отличие от примера, который я привел здесь, и поэтому я добавляю скриншот к типам символов, которые я получаю в реальном примере.
Пожалуйста, посмотрите на http://tinypic.com/r/1078lxw/7 для скриншота.
Спасибо