我在Windows上使用Qt,我想在此处转换此部分:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA..." />
进入.png文件的本机二进制编码。我已经将iVBORw0KGgoAAAANSUhEUgAAADIA...
部分隔离为QString,我唯一的问题是如何将其转换成可以写入文件的QByteArray。具体来说,是一个.png文件。 QByteArray :: fromBase64方法就是我尝试过的,它不起作用。
所以我的代码是:
QDataStream stream(&file);
QByteArray qba;
qba.append(sourcestring);
stream << QByteArray::fromBase64(qba);
sourcestring是源字符串(数据:image / png; base64,部分已删除),file是我写的png文件。
答案 0 :(得分:3)
您可以这样做:
QString s("iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAl...");
QByteArray ba = QByteArray::fromBase64(s.toUtf8());
QImage img = QImage::fromData(ba);
img.save("test.png");