1、QString转换成十六进制 1voidConvertQStringToHex(constQString &str,constQByteArray&byte)2{3inthexData,lowhexData;4inthexdataLen=0;5intlen =str.length();6byte.resize(len/2);7charlstr,hstr;8for(inti=0;i<len;)9{10hstr =str[i].toLatin1();11if(hstr =='')12{13i++;14continue...
temp[6] = userdata.Sum; QString tt = temp; 第二步,将QString转成16进制的QByteArray, 1 QByteArray temp1 = tt.toLatin1().toHex(); 第三步,添加空格 1 2 3 4 5 QByteArray temp2; for(inti = 0; i < temp1.length()/2;i++) { temp2 += temp1.mid(i*2,2) +" "; } 以上内容...
QString hexString = QString::number(intValue, 16); // 十六进制字符串 QString octString = QString::number(intValue, 8); // 八进制字符串 QString binString = QString::number(intValue, 2); // 二进制字符串 qDebug() << hexString; // 输出结果:"2A",十六进制表示 qDebug() << octStr...
//16进制 strShowHex=QString("0x%1").arg(int(val),4,16,QLatin1Char('0')); //显示结果为: 0x00fc //2进制 strShowBin=QString("%1 b").arg(int(val),8,2,QLatin1Char('0')); //显示结果为: 11111100 b 1. 2. 3. 4. ...
QString str;转换为char为:str.toLatin1().data()如果想转换为16进制的:int ip = inet_addr(str.toLatin1().data());然后用sprintf放进你的char ip[]中去就行了
toLatin1(); // QString转QByteArray方法2 4. 16进制字符串QString转换QByteArray /* * @breif 将16进制字符串转换为对应的字节序列 */ QByteArray MainWindow::HexStringToByteArray(QString HexString) { bool ok; QByteArray ret; HexString = HexString.trimmed(); HexString = HexString.simplified();...
1 QByteArray data=tcpSocket->readAll(); //接受16进制 1 QString p = data.toHex(); 2 ui->clearLineEdit->setText(p); //转化成Qstring data.toInt(0,16) //转化成int 注意:data.toInt(),直接使用不行! 接下来是接受字符串的转化,
QString类里面有个split函数,将ip使用“.”来分开4分,就可以转换成16进制了。个人观点~~~
strPrint+= QString::number( ((int)c)&0xFF,16) +""; } qDebug()<<"Latin1 :"; qDebug()<<strPrint; qDebug()<<""; strPrint.clear(); ba=g_Test_Z01.toLocal8Bit();for(inti=0; i<ba.length(); i++) {charc =ba.at(i); ...