首页| 论坛| 消息

标题:Qt开源作品40-图片及文字与base64编码互换
作者:liudianwu
日期:2021-11-19 19:43
内容:

## 一、前言
对于图片的传输,通俗的做法一般有两种,一种是直接二进制文件传输,比如先传输开始标记,带文件名称、文件字节长度,然后挨个分包发送、最后发送文件结束标记,这种方式必须要求接收方按照自己定义的规则来接收数据生成文件,所以通用性有限,要么用http的形式请求上传文件,按照标准的文件上传机制进行处理,但是这样又限定了应用场景,比如很多时候又是需要直接底层的TCP或者UDP协议进行传输,或者直接传完就显示。
这就衍生了第二种常规做法,转换成base64编码进行传输,现有的各种语言平台开发框架,基本上都会有base64编码转换的函数或者类,毫无疑问Qt也有的,作为超大型GUI开发超市,这肯定是必须的必备的基础函数,转换到base64编码唯一缺点就是数据量增大不少。
还有一种常用的场景会用到base64编码是中文的传输,比如用tcp协议,如果双方都是utf8编码都好说,关键是很多可能是gbk编码的,你发过去未必认识,常见的串口收发中文、网络数据收发中文,都是个头疼的问题,要兼容起来最好的办法就是直接将中文转成base64编码,对方接收到以后进行base64解码,轻轻松松就搞定,我做过的公司相关的项目,还有很多第三方平台的通信,或者提供给第三方的接口规范,中文这块都按照base64编码来约定,从未出过问题。
base64编码介绍:
1. Base64是网络上最常见的用于传输8Bit字节码的编码方式之一。
2. Base64就是一种基于64个可打印字符来表示二进制数据的方法。
3. Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。
4. 采用Base64编码具有不可读性,需要解码后才能阅读。
5. Base64编码可用于在HTTP环境下传递较长的标识信息。
## 二、主要功能
1. 图片转base64字符串。
2. base64字符串转图片。
3. 字符转base64字符串。
4. base64字符串转字符。
5. 后期增加数据压缩。
6. Qt6对base64编码转换进行了重写效率提升至少200%。
## 三、效果图


## 四、开源主页
**以上作品完整源码下载都在开源主页,会持续不断更新作品数量和质量,欢迎各位关注。**
**本开源项目已经成功升级到V2.0版本,分门别类,图文并茂,保你爽到爆。**
1. 国内站点:[https://gitee.com/feiyangqingyun/QWidgetDemo](https://gitee.com/feiyangqingyun/QWidgetDemo)
2. 国际站点:[https://github.com/feiyangqingyun/QWidgetDemo](https://github.com/feiyangqingyun/QWidgetDemo ..

回复 发表
主题 版块