Ok, Kyle McKay responded directly offline with the solution. On my call: NSData *picData;
sqlite3_bind_blob(preparedStatement, empProfPicDataPos, [picData bytes], picBytes, SQLITE_TRANSIENT); I had originally used picData, not [picData bytes]. And therein lies the fact that given I rarely use NSData, inexperience rules the day. Many thanks to Kyle... and I'd also like to thank myself for learning Forth some 36 years ago and the ease of working with pointers. :) ________________________ Joseph Rooney Mobile Development CommScope, Inc. Hickory, NC 828-315-2920 Ext: 52920 From: Joseph Rooney <joseph.rooney at commscope.com<mailto:joseph.roo...@commscope.com>> Date: Monday, January 18, 2016 at 6:46 PM To: "sqlite-users at mailinglists.sqlite.org<mailto:sqlite-users at mailinglists.sqlite.org>" <sqlite-users at mailinglists.sqlite.org<mailto:sqlite-users at mailinglists.sqlite.org>> Subject: Retrieved Blob Data has 16 Byte Header or ? The process, working in iOS: ? Retrieve an employee photo using web service call, encoded in Base64 string ? Convert Base64 string to NSData object - 3245 bytes ? Store NSData object to a Blob in SQLite - 3245 bytes ? Retrieve Blob to NSData object - 3245 bytes ? The retrieved data will not display. ? In comparing the hex input and retrieved output, I find there are 16 bytes added to the head of the data and I'm 16 bytes short. ? If I add the 16 bytes to the total when storing the data and then read back 3245 bytes at the location ptr + 16 bytes, I've got my proper data, which displays as normal. Anyone have any insights into this? _____________________________ Joseph Rooney Mobile Development Commscope, Inc. Hickory, NC 828-315-2920 Ext: 52920