【QT】——Base64加解密

介绍

  • 用 记事本 打开 exe、jpg、pdf 这些文件时,我们都会看到一大堆乱码,因为二进制文件包含很多无法显示和打印的字符。
  • 如果要让记事本这样的文本处理软件 处理二进制数据如使用 json 保存二进制信息,需要先把数据先做一个 Base64 编码,统统变成可见字符,再保存。
  • Base64 是一种用 64 个字符表示任意二进制数据的方法,常用于在 URL、Cookie、网页中
    传输少量二进制数据
  • Base64 要求把每三个 8Bit 的字节转换为四个 6Bit 的字节(3*8 = 4*6 = 24),然后把 6Bit
    再添两位高位 0,组成四个 8Bit 的字节,也就是说,转换后的字符串理论上将要比原来的长
    1/3。

示例:

(原文)转换前:         11111101, 11111110, 11111111 (二进制)

转换为四个6Bit : 111111, 011111, 111011, 111111(二进制)

填充0:                 00111111,00011111, 00111011, 00111111(二进制)

Base64的对照表

 

Base64的作用

可以 生成对应的Base64文本,对其进行简单的加密,因为转换后的 文本并不是原文本,如果需要查看原文本,需要对Base64的数据进行解密。

QT接口

编码

QByteArray QByteArray::toBase64() const
QByteArray QByteArray::toBase64(QByteArray::Base64Options options) const

示例:

QByteArray text("Hello world");
text.toBase64(); 
/* 输出: SGVsbG8gd29ybGQ= */

解码

接口:

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

Base64Options枚举值一览表

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值