QByteArray转换到QString不加注意就会转换不全的情况。
先看代码找问题
- QString类提供Unicode字符串。
- QByteArray类提供存放二进制数据。
1
2
3
4
5
6
7QByteArray byteArray;
byteArray += '1';
byteArray += '2';
byteArray += '\0';
byteArray += '3';
byteArray += '4';
QString str(byteArray);
看似上面代码没问题,但实际上并不能得出我们想要的结果。
str的内容是”12”,而”\034”被剪掉了。于是找了下QString的说明文档,看到QString字符串的结尾和C风格的’\0’或0结尾相同。