BM6 is the header of a bitmap file, followed by a double quote character - 0x22. Following the 0x22, there are four nulls. You can not expect to copy a bitmap's binary data using strncpy because there are null characters in it and they will terminate the copy. If you store and read the data as a string you will get exactly five bytes, including the null character. It needs to be saved as exactly how you described it - a binary blob.
This page describes how the data is stored in a file :
BMP file format - Wikipedia[
^]. It might be useful for you to load a bitmap file into a hex editor so you can see the data for yourself. You need to determine how Qt wants to see the data in memory for display purposes and then implement code to translate it into that format.