Qt의 qCompress는 Zlib의 deflate 압축 알고리즘을 사용하고 있고 이를 이용한 스트링을 압축 및 해제하는 방법은 아래와 같음.
std::string StringCompress(const std::string &data, int compress_level)
{
QByteArray compressed = qCompress(QString(data.c_str()).toUtf8(), compress_level); // 압축 레벨 1~9, 9가 최고
return QString::fromLatin1(compressed.toBase64()).toStdString();
}
std::string StringDecompress(const std::string &data)
{
QString compressedBase64 = data.c_str();
QByteArray compressed = QByteArray::fromBase64(compressedBase64.toLatin1());
QByteArray uncompressed = qUncompress(compressed);
return QString::fromUtf8(uncompressed).toStdString();
}
'블로그 (Blog) > 개발로그 (Devlogs)' 카테고리의 다른 글
OCC에서 텐셀레이션 & 에지 정보 복사하기 (0) | 2025.07.09 |
---|---|
Qt + Tk (0) | 2025.07.05 |
Crow (0) | 2025.07.01 |
PySide6용 컬러 선택 위젯 (0) | 2025.06.30 |
업무 정리 위키 프로그램 (0) | 2025.06.24 |