当前位置: 首页 > news >正文

江苏赛孚建设工程有限公司网站做php门户网站那个系统好

江苏赛孚建设工程有限公司网站,做php门户网站那个系统好,网站建设免费教程,免费无代码开发平台Base64编码 Base64是一种基于64个可打印字符的编码方式,用于将二进制数据转换为文本格式,核心目的是解决二进制数据在传输或存储中可能出现的兼容性问题(如某些系统仅支持文本字符),并非加密算法(编码过程可…

Base64编码

Base64是一种基于64个可打印字符的编码方式,用于将二进制数据转换为文本格式,核心目的是解决二进制数据在传输或存储中可能出现的兼容性问题(如某些系统仅支持文本字符),并非加密算法(编码过程可逆,无安全性)。

核心特点:

  1. 编码原理
    以6位二进制为一个单位(2⁶=64),对应64个预设字符(通常为A-Z、a-z、0-9、+/,末尾可能用=补位),将任意二进制数据(如图片、文件、字符串等)拆分为6位一组进行映射,最终生成纯文本字符串。

  2. 可逆性
    编码过程可通过Base64解码完全还原原始数据(无信息丢失),因此仅用于数据转换,不具备加密功能。

  3. 数据膨胀
    由于将3字节(24位)二进制数据编码为4个字符(4×6=24位),编码后的数据体积会增加约33%(如100KB的文件编码后约133KB)。

应用场景:

  • 网络传输:在URL、Cookie、HTTP协议头中传输二进制数据(避免特殊字符导致解析错误),例如邮件附件编码、API接口中传输图片二进制数据。
  • 数据存储:将二进制数据(如小图片)以文本形式嵌入HTML、CSS或JSON中。
  • 简单数据转换:如在不支持二进制的环境中临时传递数据。

示例:

"""
@File    :02base64.py
@Editor  : 百年
"""
'''
加密或者解密的时候结果通通都是字节,密文是用来传输的,但是在http协议里传输字节
是一件很麻烦的工作,相对应的,如果传输的是字符串就好控制的多,此时base64应运而生
26个大写字母+26个小写字母+10个数字+2个特殊符号(+和/)组成了一组类似与64进制的计算逻辑
这就是base64'''
import base64
bs = "天空好像下雨".encode('utf-8')
print(bs)  #首先整一个字符串转换成字节
# b'\xe5\xa4\xa9\xe7\xa9\xba\xe5\xa5\xbd\xe5\x83\x8f\xe4\xb8\x8b\xe9\x9b\xa8'
# important:把字节转换成base64编码的字节
print(base64.b64encode(bs))
# b'5aSp56m65aW95YOP5LiL6Zuo' 注意还是b打头,说明还是字节
print(base64.b64encode(bs).decode())  #tips:对b64的字节进行解码
# 5aSp56m65aW95YOP5LiL6Zuo"""
总结:杂乱的字节转换成base64字符串 
base64.b64encode(bytes).decode()
将base64字符串还原成正常的字符串
base64.b64decode(b64str).encode()
"""#tips:将字符串进行b64编码成b64的字节然后再进行转码
b64s = base64.b64encode(bs).decode()
# 把b64字符串解码为b64的字节
print('要进行转换的数据',b64s)
# 要进行转换的数据 5aSp56m65aW95YOP5LiL6Zuo
print(base64.b64decode(b64s))
# b'\xe5\xa4\xa9\xe7\xa9\xba\xe5\xa5\xbd\xe5\x83\x8f\xe4\xb8\x8b\xe9\x9b\xa8'
print(len(base64.b64encode(bs)))
# important:注意base64编码的字节长度一定是4的倍数
#important:将b64的字节解码并'可以指定'解码的编码规则是utf-8
print(base64.b64decode(b64s).decode())  
print(base64.b64decode(b64s).decode('utf-8'))
# 天空好像下雨
# 天空好像下雨
http://www.dtcms.com/a/486800.html

相关文章:

  • OpenCV5-图像特征harris-sift-特征匹配-图像全景拼接-答题卡识别判卷
  • 计算机网络经典问题透视:以太网发送512bit后,碰撞还可能发生吗?
  • 免费网站管理系统昌邑建设网站
  • 初始Spring
  • wordpress站点标题看不到合肥建站企业
  • 网站空间哪家公司的好上海专业网站建设价
  • 考研数学笔记(概率统计篇)
  • HT6809:重塑音频体验的立体声 D 类功率放大器
  • Flutter对话框AlertDialog使用指南
  • 玩Android Flutter版本,通过项目了解Flutter项目快速搭建开发
  • 大数据毕业设计选题推荐-基于大数据的商店购物趋势分析与可视化系统-大数据-Spark-Hadoop-Bigdata
  • 网站标题符号的应用龙岩整站优化
  • 运维知识图谱的构建与应用
  • MySQL中RUNCATE、DELETE、DROP 的基本介绍
  • php企业网站 源码asp网站耗资源
  • 【LeetCode】四数之和
  • 网站进不去怎么解决网络营销策略
  • 旗讯 OCR:破解全行业表格处理痛点,让数据从 “识别” 到 “可用” 一步到位
  • 测试开发笔试
  • 数据库的创建,查看,修改,删除,字符集编码和校验操作
  • C语言初步学习:数组的增删查改
  • 【组队学习】Post-training-of-LLMs TASK02
  • 系统设计相关知识总结
  • 做视频的模板下载网站xunsearch做搜索网站
  • 做企业网站需要人维护么电子商务推广
  • Linux驱动开发原理详解:从入门到实践
  • HarmonyOS之Environment
  • 鸿蒙仓颉:如何获取全局定义的Context以及使用方法
  • 银河麒麟V10的X86架构部署postgresql,解决信创离线部署兼容问题
  • 如何建设物流网站智慧团建官网手机版登录