In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-03-29 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >
Share
Shulou(Shulou.com)06/01 Report--
This article mainly explains "how to define the name of Qt function". Interested friends may wish to have a look. The method introduced in this paper is simple, fast and practical. Let's let the editor take you to learn "how to define the Qt function name".
Function name / XOR encryption algorithm static QString getXorEncryptDecrypt (const QString & str, char key); / XOR check static uchar getOrCode (const QByteArray & data); / Compute check code static uchar getCheckCode (const QByteArray & data); / / CRC check static quint16 getRevCrc_16 (quint8 * data, int len, quint16 init, const quint16 * table); static quint16 getCrc_16 (quint8 * data, int len, quint16 init, const quint16 * table) Static quint16 getModbus16 (quint8 * data, int len); static QByteArray getCRCCode (const QByteArray & data); function body QString QUIHelper::getXorEncryptDecrypt (const QString & str, char key) {QByteArray data = str.toLatin1 (); int size = data.size (); for (int I = 0; I
< size; i++) { data[i] = data[i] ^ key; } return QLatin1String(data);}uchar QUIHelper::getOrCode(const QByteArray &data){ int len = data.length(); uchar result = 0; for (int i = 0; i < len; i++) { result ^= data.at(i); } return result;}uchar QUIHelper::getCheckCode(const QByteArray &data){ int len = data.length(); uchar temp = 0; for (uchar i = 0; i < len; i++) { temp += data.at(i); } return temp % 256;}//函数功能:计算CRC16//参数1:*data 16位CRC校验数据,//参数2:len 数据流长度//参数3:init 初始化值//参数4:table 16位CRC查找表//逆序CRC计算quint16 QUIHelper::getRevCrc_16(quint8 *data, int len, quint16 init, const quint16 *table){ quint16 cRc_16 = init; quint8 temp; while (len-- >0) {temp = cRc_16 > > 8; cRc_16 = (cRc_16 0) {temp = cRc_16 & 0xff; cRc_16 = (cRc_16 > > 8) ^ table [(temp ^ * data++) & 0xff];} return cRc_16 } / / Modbus CRC16 check quint16 QUIHelper::getModbus16 (quint8 * data, int len) {/ / MODBUS CRC-16 Table 8005 reverse order const quint16 table_16 [256] = {0x0000, 0xC0C1, 0xC181, 0x0140, 0xC301, 0x03C0, 0x0280, 0xC241, 0xC601, 0x06C0, 0x0780, 0xC741, 0x0500, 0xC5C1, 0xC481, 0x0440, 0xCC01, 0x0CC0, 0x0D80, 0xCD41, 0x0F00, 0xCFC1, 0xCE81, 0x0E40, 0x0A00, 0xCAC1, 0xCB81, 0x0B40, 0xC901, 0xC901, 0x09C0, 0x09C0, 0x09C0 0x18C0, 0x1980, 0xD941, 0x1B00, 0xDBC1, 0xDA81, 0x1A40, 0x1E00, 0xDEC1, 0xDF81, 0x1F40, 0xDD01, 0x1DC0, 0x1C80, 0xDC41, 0x1400, 0xD4C1, 0xD581, 0x1540, 0xD701, 0x17C0, 0x1680, 0xD641, 0xD201, 0x12C0, 0x1380, 0xD341, 0x1100, 0xD1C1, 0xD081, 0x1040, 0xF001, 0x30C0, 0x3180, 0xF141, 0x3300, 0xF3C1, 0xF281, 0x3240, 0x3600, 0xF6C1, 0xF781, 0x3740, 0xF501, 0x35C0, 0x3480, 0xF441, 0x3C00, 0xFCC1, 0xFD81, 0x3D40, 0xFF01, 0x3FC0, 0x3E80 0xFE41, 0xFA01, 0x3AC0, 0x3B80, 0xFB41, 0x3900, 0xF9C1, 0xF881, 0x3840, 0x2800, 0xE8C1, 0xE981, 0x2940, 0xEB01, 0x2BC0, 0x2A80, 0xEA41, 0xEE01, 0x2EC0, 0x2F80, 0xEF41, 0x2D00, 0xEDC1, 0xEC81, 0x2C40, 0xE401, 0x24C0, 0x2580, 0xE541, 0x2700, 0xE7C1, 0xE681, 0x2640, 0x2200, 0xE2C1, 0xE381, 0x2340, 0xE101, 0x21C0, 0x2080, 0xE041, 0xA001, 0x60C0, 0x6180, 0xA141, 0x6300, 0xA3C1, 0xA281, 0x6240, 0x6600, 0xA6C1, 0xA781 0x6740, 0xA501, 0x65C0, 0x6480, 0xA441, 0x6C00, 0xACC1, 0xAD81, 0x6D40, 0xAF01, 0x6FC0, 0x6E80, 0xAE41, 0xAA01, 0x6AC0, 0x6B80, 0xAB41, 0x6900, 0xA9C1, 0xA881, 0x6840, 0x7800, 0xB8C1, 0xB981, 0x7940, 0xBB01, 0x7BC0, 0x7A80, 0xBA41, 0xBE01, 0x7EC0, 0x7F80, 0xBF41, 0x7D00, 0xBDC1, 0xBC81, 0x7C40, 0xB401, 0x74C0, 0x7580, 0xB541, 0x7700, 0xB7C1, 0xB681, 0x7640, 0x7200, 0xB2C1, 0xB381, 0x7340, 0xB101, 0x71C0, 0x7080, 0xB041 0x5000, 0x90C1, 0x9181, 0x5140, 0x9301, 0x53C0, 0x5280, 0x9241, 0x9601, 0x56C0, 0x5780, 0x9741, 0x5500, 0x95C1, 0x9481, 0x5440, 0x9C01, 0x5CC0, 0x5D80, 0x9D41, 0x5F00, 0x9FC1, 0x9E81, 0x5E40, 0x5A00, 0x9AC1, 0x9B81, 0x5B40, 0x9901, 0x59C0, 0x5880, 0x9841, 0x8801, 0x48C0, 0x4980, 0x8941, 0x4B00, 0x8BC1, 0x8A81, 0x4A40, 0x4E00, 0x8EC1, 0x8F81, 0x4F40, 0x8D01, 0x4DC0, 0x4C80, 0x8C41, 0x4400, 0x84C1, 0x8581, 0x4540 0x8701, 0x47C0, 0x4680, 0x8641, 0x8201, 0x42C0, 0x4380, 0x8341, 0x4100, 0x81C1, 0x8081, 0x4040} Return getCrc_16 (data, len, 0xFFFF, table_16);} / CRC16 check QByteArray QUIHelper::getCRCCode (const QByteArray & data) {quint16 result = getModbus16 ((quint8 *) data.data (), data.length ()); return QUIHelper::ushortToByteRec (result);} so far, I believe you have a deeper understanding of "how to define Qt function names", you might as well do it in practice! Here is the website, more related content can enter the relevant channels to inquire, follow us, continue to learn!
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 263
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.