如何在C++中将Qstring转换为十六进制
在CPP Qt5中,有一个QString类可用于处理字符串。它非常强大,有众多方法,通过QString类可提供Unicode字符串。字符串保存为16位的QChar。 Unicode 4.0中的每个字符由一个QChar表示。与许多其他编程语言中的字符串不同,QString可以被更改。现在,我们将把Qstring转换为十六进制值。
转换概念
我们将简单地使用Q字符串,并使用Qstring类的“toInt”预编译方法将其转换为十六进制,然后提供一个OK指针来检查转换是否成功执行。 OK指针仅用于检查错误,不会影响将QString int转换为十六进制。
例子
//使用qtcore工具运行此代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
//声明字符串
QString s;
//从用户获取输入
cin >> s;
// ok: 指针
bool ok;
// 16位十六进制
int hexa_dec = s.toInt(&ok, 16);
if (!ok) {
// 转换未完成
cout << "转换失败。 重复转换"
<< endl;
}
else {
// 打印十六进制值
cout << "您给定 QString 的十六进制转换 "
"值为:"
<< hexa_dec << endl;
}
return 0;
}
输出:
s="FF"
你的给定QString的十六进制转换值为:255 //Pointer 'OK'为true
结论
在QString中,除了QString之外,另外还提供了QByteArray类用于存储未处理的字节和传统的8位“0”终止字符串。 QString是大多数应用程序应该使用的类。 Qt API广泛使用它,并且对Unicode的支持确保您的应用程序将简单地翻译,以防您希望扩大产品的市场。当存储原始二进制数据并且内存保护至关重要时,QByteArray是这两种情况下最合适的选择(例如用Qt for Embedded Linux)。