QT で 16 進数文字を配列に変換し、配列を 16 進数文字に変換する

16 進数の文字を配列に変換する

​
QByteArray ComService:: HexStringToByteArray(QString hex, bool *ok)
{
      int p;

      QByteArray ret;
      QStringList lst = hex.simplified().split(' ');//转化为字符串数组
      ret.resize(lst.count());
      for(int i = 0; i < lst.count(); i++)
      {
     p = lst[i].toInt(ok, 16);
     if(!(*ok) || p > 255 )
     {
         return 0;
     }
     ret[i] = p;
      }
      return ret;
}


​

 配列を 16 進文字に変換する

QString ComService:: ByteArrayToHexString(QByteArray ascii)//字符串转16进制
{
      QString ret;
      for(int i = 0; i < ascii.count(); i++)
     ret.append(QString("%1 ").arg((uchar)ascii.at(i), 2, 16, (QChar)'0'));

      return ret.toUpper();
}

おすすめ

転載: blog.csdn.net/m0_52467164/article/details/131069194