如何使用Qt编程将十进制转换为十六进制?如69切换到45,56切换到38等...我试试这样
QString str = QString::number(s.at(i).unicode());
bool ok;
qDebug() << str.toUtf8();
Run Code Online (Sandbox Code Playgroud)
但失败了.我需要将此字符串"E8A5"ASCII开关转换为十六进制数字或字符串.
evi*_*uff 13
源字符串:
QString str = QString::number(s.at(i).unicode());
Run Code Online (Sandbox Code Playgroud)
然后:
步骤1.将字符串转换为整数
int nValue = str.toInt();
Run Code Online (Sandbox Code Playgroud)
步骤2.使用Qt将整数转换回十六进制字符串
QString result = QString::number( nValue, 16 );
Run Code Online (Sandbox Code Playgroud)
第3步.转换为大写(可选)
qDebug() << result.toUpper();
Run Code Online (Sandbox Code Playgroud)
或者更短的形式:
qDebug() << QString::number( str.toInt(), 16 ).toUpper();
Run Code Online (Sandbox Code Playgroud)