QByteArray 二进制数值转换问题 比如: toInt() toFloat()等

QByteArray功能十分强大,对于原始字符串操作十分便利,自带数值转换的所有方法,比如 toInt()  toShort()  toFloat() toDouble()等

但是,需要注意,这些方法只是针对 ascii 码数值的转换,比如:“39.62343953”

如果,QByteArray中存储的是二进制字符,则无法进行转换,还是要使用C语言的方法: memcpy

unsigned short MsgId = 0;
memcpy_s(&MsgId, 2, bufBytes.data() + 4, 2);
unsigned short MsgLength = 0;
memcpy_s(&MsgLength, 2, bufBytes.data() + 8, 2);

 

posted @ 2020-11-27 09:31  尘世俗人  阅读(2196)  评论(0编辑  收藏  举报