qt 将图片转为base64字符串html直接可用

2023-11-14

Base64是基于64个可打印字符来显示2进制数据,它用于传输8Bit字节代码,并在HTTP传输中广泛应用。

原理:把一连串的二进制数,拆为6个6个的二进制组,然后每个组头部补2个0,从而将数的范围限制在64以内,都是可视化字符了。解码是逆向的过程。Qt之Base64编解码_qt base64_Qt君的博客-CSDN博客

//QImage主要是为图像处理(提供了像素级别的操作)而设计的独立于硬件的类,
//而QPixmap主要是为快速画图而设计的,存在显卡内存中
QString imageToBase64Html(QImage &image)
{
    QByteArray ba;
    QBuffer buf(&ba);
    image.save(&buf, "png");
    buf.close();
    return QString::fromLocal8Bit(ba.toBase64());
}

QImage base64HtmlToImage(QString base64)
{
    QImage image;
    image.loadFromData(QByteArray::fromBase64(base64.toLocal8Bit()));
    return image;
}

参考博客:QT 图片与base64互转_Sparrow_du的博客-CSDN博客

注意:如果用QDataStream是无法实现编码为html也能识别的字符串的(对比一下一些在线转换网站即可知道不是相同的,比如前面的字符串就没有iVBORw0KGgo这些字符,我也不知道为什么图片在线转换Base64 | 图片编码base64),必须用QBuffer就可以了的。例如这个博客我测试就总是不行,但是它转出来的也可以用它自己函数转回去的Qt 将图片转为字符串 - 代码先锋网

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

qt 将图片转为base64字符串html直接可用 的相关文章

随机推荐