找回密码
 立即注册
收起左侧

二进制转化问题

4
回复
6365
查看
[复制链接]
累计签到:132 天
连续签到:1 天
来源: 2016-11-3 23:18:31 显示全部楼层 |阅读模式
5Qter豆
我把从界面上读取到的数据比如:00111111,存成二进制文件,发现它是把这里的00111111当成了字符串的形式,就是一个0存到二进制文件里变成了用8个0表示,表示成十六进制就是00,00,01,01...。
而我想要的二进制文件是,这个00111111就是一个字节,而不是每一个数字是一个字节,存在二进制文件里用十六进制看应该是3f。
想问一下,应该怎么转换?

最佳答案

查看完整内容

QByteArray或QBitArray 可以做得到,网上很多例子,配合QDatastream很好用的
回复

使用道具 举报

尚未签到

2016-11-3 23:18:32 显示全部楼层
QByteArray或QBitArray 可以做得到,网上很多例子,配合QDatastream很好用的

点评

我已经解决了,谢谢你~  详情 回复 发表于 2016-11-4 17:19
这个问题我已经解决了,但是打开我写的二进制文件是这样的,00 00 00 3c 00 00 00 45等等,这里面的3c和45是我写进去的数据,而每一个数据前面都自动填了00 00 00,是怎么回事啊?是QT写二进制数据本身就这样么?这  详情 回复 发表于 2016-11-4 15:10
回复

使用道具 举报

累计签到:132 天
连续签到:1 天
2016-11-4 15:10:52 显示全部楼层
Joey_Chan 发表于 2016-11-4 00:28
QByteArray或QBitArray 可以做得到,网上很多例子,配合QDatastream很好用的

这个问题我已经解决了,但是打开我写的二进制文件是这样的,00 00 00 3c 00 00 00 45等等,这里面的3c和45是我写进去的数据,而每一个数据前面都自动填了00 00 00,是怎么回事啊?是QT写二进制数据本身就这样么?这些0怎么去掉啊,让文件里只有我的数据3c 45...等等的数据
回复

使用道具 举报

累计签到:132 天
连续签到:1 天
2016-11-4 17:19:24 显示全部楼层
Joey_Chan 发表于 2016-11-4 00:28
QByteArray或QBitArray 可以做得到,网上很多例子,配合QDatastream很好用的

我已经解决了,谢谢你~
回复

使用道具 举报

尚未签到

2016-11-4 22:27:35 显示全部楼层
adaluobo 发表于 2016-11-4 15:10
这个问题我已经解决了,但是打开我写的二进制文件是这样的,00 00 00 3c 00 00 00 45等等,这里面的3c和4 ...

可能你写之前没定数据长度是吧,一般默认是32位的,写的数据不足32自然就用0填充
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了