66 lines
2.5 KiB
C++
66 lines
2.5 KiB
C++
#ifndef QTHELPERDATA_H
|
|
#define QTHELPERDATA_H
|
|
|
|
#include <QObject>
|
|
|
|
class QtHelperData
|
|
{
|
|
public:
|
|
//16进制字符串转10进制
|
|
static int strHexToDecimal(const QString &strHex);
|
|
//10进制字符串转10进制
|
|
static int strDecimalToDecimal(const QString &strDecimal);
|
|
//2进制字符串转10进制
|
|
static int strBinToDecimal(const QString &strBin);
|
|
|
|
//16进制字符串转2进制字符串
|
|
static QString strHexToStrBin(const QString &strHex);
|
|
//10进制转2进制字符串一个字节
|
|
static QString decimalToStrBin1(int decimal);
|
|
//10进制转2进制字符串两个字节
|
|
static QString decimalToStrBin2(int decimal);
|
|
//10进制转16进制字符串,补零.
|
|
static QString decimalToStrHex(int decimal);
|
|
|
|
//int和字节数组互转
|
|
static QByteArray intToByte(int data, bool reverse = false);
|
|
static int byteToInt(const QByteArray &data, bool reverse = false);
|
|
|
|
//ushort和字节数组互转
|
|
static QByteArray ushortToByte(int data, bool reverse = false);
|
|
static int byteToShort(const QByteArray &data, bool reverse = false);
|
|
|
|
//字符串补全
|
|
static QString getValue(quint8 value);
|
|
//字符串去空格 -1=移除左侧空格 0=移除所有空格 1=移除右侧空格 2=移除首尾空格 3=首尾清除中间留一个空格
|
|
static QString trimmed(const QString &text, int type);
|
|
|
|
//异或加密-只支持字符,如果是中文需要将其转换base64编码
|
|
static QString getXorEncryptDecrypt(const QString &value, char key);
|
|
//异或校验
|
|
static quint8 getOrCode(const QByteArray &data);
|
|
|
|
//公司专用-计算校验码
|
|
static quint8 getCheckCode(const QByteArray &data);
|
|
//公司专用-加上桢头和校验码完整数据
|
|
static void getFullData(QByteArray &buffer);
|
|
|
|
//CRC校验
|
|
static quint16 getCrc16Rec(quint8 *data, int len, quint16 init, const quint16 *table);
|
|
static quint16 getCrc16(quint8 *data, int len, quint16 init, const quint16 *table);
|
|
static quint16 getModbus16(quint8 *data, int len);
|
|
static QByteArray getCrcCode(const QByteArray &data);
|
|
|
|
//字节数组与Ascii字符串互转
|
|
static void initAscii();
|
|
static QString byteArrayToAsciiStr(const QByteArray &data);
|
|
static QByteArray asciiStrToByteArray(const QString &data);
|
|
|
|
//16进制字符串与字节数组互转
|
|
static char hexStrToChar(char data);
|
|
static QByteArray hexStrToByteArray(const QString &data);
|
|
static QString byteArrayToHexStr(const QByteArray &data);
|
|
};
|
|
|
|
#endif // QTHELPERDATA_H
|