QByteArray QSring char* unsigend char* 类型转换方法

QString str;

QByteArray str2;

char *ch = str.toLocal8Bit().data();

char *ch = str2.data();

unsigned char *uchar = (unsigned char*)str.toLocal8Bit().data();

unsigned char *uchar = (unsigned char*)str2.data();

思路就是QByteArray通过成员函数data()返回char*类型指针,qt其他格式数据转换成QByteArray是很轻松的,想转换成char*,就通过QByteArray这个中间过程就可以了。

转换成unsigned char*,只需要强制类型转换就可以了。


QString.setNum(num)  // 10

QString.setNum(num,16)

QString.setNum(num,8)

QString.setNum(num,2)


QString arg;

arg.setNum(1234567);


QString str;

str.spritnf("%.2X",iByte);


1.char* 转QString

方法一:直接用QString的构造函数转换,如下:

    char* ch = "acuity";

    QString str(ch);

方法二:用QString的静态转换函数获取,如fromUtf8()、fromLocal8bit()、fromUtf16(),如下:

    char* ch = "acuity";

    QString str = Qstring::fromUtf8(ch);