qt 字符串 转换 hex


1. qt 中两个字符的字符串直接转换为 hex,类似于 ”1A" 要转换成 16进制的 0x1A,使用 int QString::toInt(bool *ok, int base)。具体如下:

QString  str = "0x1A";
int value = str.toInt(nullptr, 16);
uint8_t tmp = static_cast<uint8_t>(str.toUInt(nullptr, 16));

2. 如果是字符串本身转换为16进制,类似于 "1" 要转换成 0x31,使用 QByteArray,其中有方法 toLatin1、toLocal8Bit, Latin1代表ASCII,Local8Bit代表unicode

QByteArray ar = str.toLatin1().toHex();

3. 如果是16进制转为 QByteArray,可以用 setNum 函数

QByteArray().setNum( hex )


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM