#include "ByteUtil.h" QString ByteUtil::binToHexString(QByteArray bytes) { return bytes.toHex().toUpper(); } QByteArray ByteUtil::hexStringToBytes(QString hexString) { hexString = hexString.toUpper(); if (hexString.length() % 2 == 1) { hexString = "0" + hexString; } bool ok; QByteArray bytes; for (int i = 0; i < hexString.length() - 1; i = i + 2) { QString str = hexString.mid(i, 2); bytes.append(str.toInt(&ok, 16)); } return bytes; } qulonglong ByteUtil::binToULong(QByteArray bytes, quint8 length) { qulonglong value = 0; for (int i = 0; i < bytes.length() && i < length; i++) { value = value * 256 + (quint8) bytes.at(i); } return value; } QByteArray ByteUtil::ULongToBytes(qulonglong value, qint8 length) { QByteArray ba; for (int i = 0; i < length; i++) { ba.prepend(value % 256); value = value / 256; } return ba; }