QString与QByteArray互转

QString str("Hello World"); 
QByteArray bytes = str.toUtf8(); // QString转QByteArray方法1
  
QString str("Hello World"); 
QByteArray bytes = str.toLatin1();  // QString转QByteArray方法2
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

QByteArray转QString

QByteArray bytes("Hello World");
    QString str = bytes;               // QByteArray转QString
  • 1.
  • 2.

QByteArray保存的是字符串

bool ok;
QByteArray arr("ABCDEF");
arr.toInt(&ok, 16);
  • 1.
  • 2.
  • 3.

QByteArray保存的是数

bool ok;
QByteArray arr;
arr[0] = 0xAB;
arr[1] = 0xCD;
arr[2] = 0xEF;
arr.toHex().toInt(&ok, 16);
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

测试

QString t = ui.lineEdit_4->text(); // 输入框输入内容
    QByteArray bytes = t.toUtf8();  // 先找成QByteArray
    bool ok;
    qDebug() << bytes.toInt(&ok, 16); // 然后转16进制数
    qDebug() << ok;
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.