欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Qt中将输入的字符串与十六进制相互转换

程序员文章站 2024-03-17 18:58:46
...

首先 Qt中,用户在LineEdit或TextEdit中输入的字符都是QString类型。

字符转为十六进制编码

转为十六进制使用一个Qt内部的QByteArray类里面的toHex()函数;
将QString类存入QByteArray需要将QString转为UTF-8格式,才能存入QByteArray类,存入QByteArray类,就可以将其转为十六进制了。

QByteArray G1;
void Dialog::on_lineEdit_textChanged(const QString &arg1)//当输入的内容改变时执行一次操作
{
	G1 = QString(arg1).toUtf8();
	//获取LineEdit输入的字符,然后转为UTF-8存入QByteArray
	G1 = G1.toHex();
	//将字符转为十六进制编码
}

十六进制编码转字符

将十六进制编码转换回字符,使用QByteArray::fromHex()来进行;
fromHex()的作用是处理输入的内容,是将内容的十六进制解码。
Qt中将输入的字符串与十六进制相互转换

QByteArray G2;
void Dialog::on_lineEdit_3_textChanged(const QString &arg1)//当输入的内容改变时执行一次操作
{
    G2 = QByteArray::fromHex(QString(arg1).toUtf8());//将传入的字符串(十六进制编码)转换为UTF-8后,使用fromHex解码为字符串
}