QString Code = "efuheuhfjjdkfdasfefggreqcxgrbaskjbdk";
char inputCode[32]; //QString 转 char[]
for(int i=0;i<32;i++){
inputCode[i] = Code.at(i).toLatin1();
}
char s[32];
QByteArray databuf;
databuf = QByteArray::fromRawData(inputCode, 32);
ui->lineEdit->setText(databuf.toHex()); //16进制内容的字符串
databuf = ui->lineEdit->text().toLatin1();
int len_array = databuf.size();
int len_buf = sizeof(inputCode);
int len = qMin( len_array, len_buf );
memcpy( s, databuf, len );// 转化
int temp=0;
for(int i=0;i<32;i++){
s[i] = 16*bytetoint(ui->lineEdit->text().at(temp).toLatin1())+
bytetoint(ui->lineEdit->text().at(temp+1).toLatin1());
temp+=2;
}
QString out = s;
QString out_1;
for(int i=0;i<32;i++){
out_1+=out.at(i);
}
qDebug() << "输出out:" << out_1;
//函数16进制转int型
int bytetoint(QChar i)
{
int out=0;
if(i==“f”)
out = 15;
else if (i==“e”) {
out = 14;
}else if (i==“d”) {
out = 13;
}else if (i==“c”) {
out = 12;
}else if (i==“b”) {
out = 11;
}else if (i==“a”) {
out = 10;
}else if(i==“9”){
out = 9;
}else if(i==“8”){
out = 8;
}else if(i==“7”){
out = 7;
}else if(i==“6”){
out = 6;
}else if(i==“5”){
out = 5;
}else if(i==“4”){
out = 4;
}else if(i==“3”){
out = 3;
}else if(i==“2”){
out = 2;
}else if(i==“1”){
out = 1;
}else if(i==“0”){
out = 0;
}
return out;
}