Qt中base64基础的应用

简介: Qt中base64基础的应用

什么是base64


  • Base64是一种用64个字符来表示任意二进制数据的方法(就像ASCII码一样,是一种数据标准)


  • [‘A’, ‘B’, …‘Z’, ‘a’, ‘b’, …‘z’, ‘0’, ‘1’, …‘9’, ‘+’, ‘/’]



为什么要用base64编码


  • 在网络上交换数据时,比如说从A地传到B地,往往要经过多个路由设备,由于不同

的设备对字符的处理方式有一些不同,这样那些不可见字符就有可能被处理错误,

这是不利于传输的。


  • 把数据先做一个Base64编码,统统变成可见字符,这样出错的可能性就大降低了

很多场景下的数据传输要求数据只能由简单通用的字符组成,比如HTTP协议要求请

求的首行和请求头都必须是ASCII编码


base64的作用


  • 所有的二进制文件,都可以因此转化为可打印的文本编码,使用文本软件进行编辑


  • 能够对文本进行简单的加密


base64的简单算法描述


  • 把3个8位字节(38=24)转化为4个6位的字节(46=24)


  • 在6位的前面补两个0,形成8位一个字节的形式


  • 如果剩下的字符不足3个字节,则用0填充,输出字符使用’=’,因此编码后输出的文本末尾可能会出现1或2个’=’, 表示补了多少字节,解码的时候,会自动去掉。



Qt中使用base64


 // base64
    // 编码
    QByteArray base = "你好, 世界";
    base = base.toBase64();
    qDebug() << base;
    // 解码
    base= QByteArray::fromBase64(base);
    qDebug() << base.data();
相关文章
|
7月前
|
Web App开发 编解码 安全
视频会议技术 入门探究:WebRTC、Qt与FFmpeg在视频编解码中的应用
视频会议技术 入门探究:WebRTC、Qt与FFmpeg在视频编解码中的应用
693 4
|
7月前
|
安全 前端开发 C++
C++视角下的Qt按钮:从基础应用到高级定制(二)
C++视角下的Qt按钮:从基础应用到高级定制
164 2
|
7月前
|
XML JSON 算法
C++视角下的Qt按钮:从基础应用到高级定制(一)
C++视角下的Qt按钮:从基础应用到高级定制
506 2
|
7月前
|
开发框架 Linux API
Qt:构建高效且用户友好的跨平台应用
Qt:构建高效且用户友好的跨平台应用
|
7月前
|
开发框架 网络协议 数据库
Qt:构建跨平台应用的强大框架
Qt:构建跨平台应用的强大框架
|
7月前
|
算法 数据可视化 程序员
【Qt UI】调色板QPalette类在Qt编程中的应用
【Qt UI】调色板QPalette类在Qt编程中的应用
240 0
|
7月前
|
存储 算法 API
【Qt 基本类】QDateTime类在C++中的应用与深度解析
【Qt 基本类】QDateTime类在C++中的应用与深度解析
296 0
|
7月前
|
算法 Unix 调度
【Qt 线程】深入探究QThread线程优先级:原理、应用与最佳实践
【Qt 线程】深入探究QThread线程优先级:原理、应用与最佳实践
582 0
|
7月前
|
编解码 并行计算 Java
QT界面中实现视频帧显示的多种方法及应用(二)
QT界面中实现视频帧显示的多种方法及应用
1129 0
|
7月前
|
Web App开发 编解码 安全
【WebRTC 入门教程】全面解析WebRTC:从底层原理到Qt和FFmpeg的集成应用
【WebRTC 入门教程】全面解析WebRTC:从底层原理到Qt和FFmpeg的集成应用
3207 1