base64解码_Qt之Base64编解码

a159d85a704bca37d8701712ad1f8a40.png
​本文介绍如何使用Qt接口对数据进行Base64编解码。

1.介绍

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

1.1 规则

  1. 3个字符变成4个字符(加两位高位0,数据一次递后)。
  2. 76个字符加一个换行符
  3. 最后的结束符也要处理(加等于号)。

1.2 Base64对照表

b95c0f68e85e6eb0ff3309c47b6e5ca1.png

1.3 示例

  • 编码前:
1111110,0111111,11111100
  • 把3个字符变成4个字符(加两位高位0),数据一次递后:
00111111,00100111,00111111,00111100
  • 翻译为十进制:
63,39,63,60
  • 与Base64对照表转译:
/,n,/,8
  • 最后得出为/n/8

2.编码

  • 接口:
QByteArray QByteArray::toBase64() const
QByteArray QByteArray::toBase64(QByteArray::Base64Options options) const
  • 示例:
QByteArray text("Hello world");
text.toBase64(); 
/* 输出: SGVsbG8gd29ybGQ= */

3.解码

  • 接口:
[static] QByteArray QByteArray::fromBase64(const QByteArray &base64)
[static] QByteArray QByteArray::fromBase64(const QByteArray &base64, 
                                           QByteArray::Base64Options options)
  • 示例:
QByteArray::fromBase64("SGVsbG8gd29ybGQ="); 
/* 输出: Hello world */

4.关于枚举Base64Options

  • Base64Options枚举值一览表

5d39d4870a87210017addc885015f9d6.png
  • 对照示例:

cba9bc2e2fc29280baaa598212f39c74.png

5.关于更多

https://tools.ietf.org/html/rfc2045
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值