# QUtility
**Repository Path**: zzxnj/qutility
## Basic Information
- **Project Name**: QUtility
- **Description**: QUtility类,通用的Qt实用程序。
- **Primary Language**: C++
- **License**: LGPL-3.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2023-11-25
- **Last Updated**: 2023-12-20
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# QUtility
#### 介绍
QUtility类,通用的Qt实用程序。
Demo使用 Qt 5.14.2 开发编译
交流加QQ群:660529384
#### F01:文件操作
1. 读文件最后一行
函数原型:``QByteArray readLastLine(QFile &file);``
调用方式:``QByteArray bytes = qUtility.readLastLine(file);``
分下列几种情况:
- 空文件
- 只有一行的文件
- 共有两行的文件
- 有若干行的文件
2. 获取文件编码 utf-8或gbk
函数原型:``QString getFileCodec(QString &fileName, uint depth = 5);``
调用方式:``QString str = qUtility.getFileCodec(fileName, 0);``
第二个参数depth:
0:全文件检查;其他值:只检查指定的行数;默认值:5
#### F02:计算CRC
常用的CRC计算,包括CRC8、CRC16/Modbus、CRC16/XModem、CRC32
函数原型:
```C++
uint8_t calculateCRC8(QByteArray &bytes);
uint16_t calculateCRC16Modbus(QByteArray &bytes);
uint16_t calculateCRC16XModem(QByteArray &bytes);
uint32_t calculateCRC32(QByteArray &bytes);
```
#### F03:DES加密算法
分 DES加密解密算法 和 3DES加密解密算法
自行更改密钥:DES_KEY1、DES_KEY2、DES_KEY3
函数原型:
```C++
void encrypt(QByteArray &);
void decrypt(QByteArray &);
void encrypt3(QByteArray &);
void decrypt3(QByteArray &);
```
#### 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request