博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据之间的转换
阅读量:5292 次
发布时间:2019-06-14

本文共 1650 字,大约阅读时间需要 5 分钟。

1、QString转const char*

 1.1//不带中文

 QString str1 = "Test";

 QByteArray ba = str1.toLatin1();
 const char *c_str2 = ba.data();
 printf("str2: %s", c_str2);

1.2//带中文,第五一样

char a[20];

QString str = “你好”;

QByteArray ba = str .toLocal8Bit();//线路

memcpy(a, ba.data(), ba.size());

2、unsigned char* 转char*

unsigned char* p;

char *q=(unsigned char*)p

3、QByteArray ba{0x00,0x01,0x02},打印出“000102”

QString str = ba.toHex();

4、char data[4] = {0x01,0x02,0x03,0x04},打印出“01020304”

QByteArray ba(data,4);

QString str = ba.toHex();

5、中文字符串转char

QString str = “你好”;

QByteArray ba = str.toLocal8Bit();

char* dataChar;

dataChar = ba.data();

6、带有中文的char*或者QByteArray转QString

6.1

QByteArray ba = "你好";

QString str = QString::fromLocal8Bit(ba);

ps:QByteArray::resize为0之后,不会影响后续初始化,如下程序能正常打印字符串。

QByteArray ba;

ba.resize(0);

ba[0]=0x54;

ba[1]=0x65;

ba[2]=0x73;

ba[3]=0x74;

ba[4]=0x21;

qDebug()<<ba;

6.2

char ch[4];

ch[0] = 0xC4;

ch[1] = 0xE3;

ch[2] = 0xBA;

ch[3] = 0xC3;

QByteArray ba;ba.resize(4);//一定要这个resize

memcpy(ba.data(),ch,4);

QString str = QString::fromLocal8Bit(ba);

qDebug()<<str;//你好

7、有0x00的char*转QString

info[3]={0x01,0x00,0x02};

QString tempStr="";int j=0;

for(int i=0;i<3;i++)

{

tempStr += QString("%1 ").arg(info[j++]&0xFF,2,16,QLatin1Char('0'));//如果不与上0xFF,结果会出问题

}

return tempStr.toUpper();

8、QString str=“54 65 73 74 21” 转 QByteArray ba ={0x54,0x65....}

1、QByteArray ba1 = str.toLatin1();或者QByteArray ba1 = str.toUtf8();

2、QByteArray ba2 = QByteArray::fromHex(ba1);

ps:即使str里面有“00”依旧可以转换

 9、QString转char*

str.toStdString().c_str;

10、十六进制QString转float或者double

 11、QString保留小数

QString::number(100.1002121323,'f',6) ;

转载于:https://www.cnblogs.com/judes/p/6733964.html

你可能感兴趣的文章
国内外免费电子书(数学、算法、图像、深度学习、机器学习)
查看>>
狄利克雷过程(Dirichlet Process)
查看>>
五子棋项目的实现(二)博弈树算法的描述
查看>>
Hibernate : Disabling contextual LOB creation as createClob() method threw error
查看>>
【bzoj4872】[Shoi2017]分手是祝愿 期望dp
查看>>
字符串元转分
查看>>
thinkphp 防sql注入
查看>>
201521123044 《Java程序设计》第1周学习总结
查看>>
MIT Scheme 的基本使用
查看>>
程序员的“机械同感”
查看>>
在16aspx.com上下了一个简单商品房销售系统源码,怎么修改它的默认登录名和密码...
查看>>
c++回调函数
查看>>
linux下Rtree的安装
查看>>
【Java】 剑指offer(53-2) 0到n-1中缺失的数字
查看>>
Delphi中ListView类的用法
查看>>
bzoj3110: [Zjoi2013]K大数查询 【树套树,标记永久化】
查看>>
[原创]Java 的传值小例子
查看>>
【MySQL学习】安装和配置 服务无法启动 没有报告任何错误
查看>>
C# 修饰符
查看>>
JavaScript启示录
查看>>