Qt中的Base64编码
Qt之Base64编解码
Base64编码是一种用于表示二进制数据的文本编码方式,通常用于在需要通过文本传输二进制数据的场景中,比如在电子邮件和URL中传递数据。它将二进制数据转换为由64个ASCII字符组成的字符串,便于在文本环境中传递
在Qt中,可以使用QByteArray
类的相关方法来实现Base64的编解码
编码
将二进制数据编码为Base64字符串:
#include <QByteArray>
#include <QString>
#include <QDebug>int main() {QByteArray data = "Hello, World!";QByteArray encoded = data.toBase64();QString encodedString = QString::fromUtf8(encoded);qDebug() << "Encoded:" << encodedString;return 0;
}
QByteArray::toBase64()
:将QByteArray
对象中的数据编码为Base64格式QString::fromUtf8()
:将QByteArray
转换为QString
,以便更方便地处理和显示
解码
将Base64字符串解码为二进制数据:
#include <QByteArray>
#include <QString>
#include <QDebug>int main() {QString encodedString = "SGVsbG8sIFdvcmxkIQ=="; // "Hello, World!" in Base64QByteArray encoded = encodedString.toUtf8();QByteArray decoded = QByteArray::fromBase64(encoded);QString decodedString = QString::fromUtf8(decoded);qDebug() << "Decoded:" << decodedString;return 0;
}
QByteArray::fromBase64()
:将Base64编码的QByteArray
解码为原始的二进制数据QString::fromUtf8()
:将解码后的QByteArray
转换为QString
,以便更方便地处理和显示