二进制数据即以字节为单位的数据块。1个字节的值中,包括空格、控制符、响铃符等非打印符号无法写在SQL语句的文本中。为了避免输入“非打印字符”,数据以SQL语句输入时,每个字节用2个数位的十六进制数表示。用SQL语句的优点是比较简单,缺点是数据要转换效率较低
如果数据不在SQL语句中直接输入,才需要用直接用api函数写和读blob
//往语句中的?号等占位符上绑定二进制数据
int sqlite3_bind_blob(sqlite3_stmt*, int, const void*, int n, void(*)(void*));
sqlite3_column_blob //查询结果中,获得blob指针
int sqlite3_column_bytes//或者blob长度