QSqlite怎么保存二进制数据

sno_guo 2012-10-12 09:48:30
大家好,因为做嵌入式,经常遇到结构体数组,如下
typedef struct __test_s
{
uint8_t one,
uint16_t two,
}test_s;
这样的数据,我想把他用QSqlite来保存,可是发现QSqlite在保存的时候,好像数据格式只能是QString类型的,不能是别的。请问下怎么保存二进制数据,谢谢!

我的想法是:把二进制转换为字符串保存起来,但是这样在读取的时候字符串转换为二进制会出问题的,假如我保存的200这一个字节,但字符串转换出来后可能是2 0 0 分成三个字节了,很不好。

请问下大家是怎么保存的,谢谢!
...全文
442 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chuansunshine 2013-12-22
  • 打赏
  • 举报
回复
如楼上所说,直接存储二进制就ok了 http://hi.baidu.com/ejoywx/item/bb2a594de50c04ef1e19bca3
风为裳のCode 2012-10-12
  • 打赏
  • 举报
回复
一般数据采用的固定的静态数据类型,而SQLite采用的是动态数据类型,会根据存入值自动判断。SQLite具有以下五种数据类型:

1.NULL:空值。
2.INTEGER:带符号的整型,具体取决有存入数字的范围大小。
3.REAL:浮点数字,存储为8-byte IEEE浮点数。
4.TEXT:字符串文本。
5.BLOB:二进制对象。


我是学友 2012-10-12
  • 打赏
  • 举报
回复
sqlite保存的只是一个容器,你在提取出来的时候是可以转为别的格式的,QByteArray和int都是可以的,不是只有QString,你是Qt群里的郭志军吧

16,816

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧