最新要闻
- 世界微资讯!2023 Sun Simiao TCM International Forum kicks off in China's Shaanxi
- 注意防范 7省市将现大到暴雨:部分地区有雷暴大风或冰雹-环球关注
- 快资讯丨直播:国产大飞机C919商业首飞!网友感叹中国人终于要坐上国产大飞机
- 时隔10年 索尼全新PS掌机Q公布!电池续航很堪忧
- 青海省内外贸易实现快速增长_新动态
- 一代网民青春记忆 天涯回应无法访问:拖欠多年电信IDC费已无法协商
- 周鸿祎训练数字人代替演讲!直言有危机感 不想被数字人“干掉”
- 全球视讯!《小美人鱼》北美票房第一
- 省社保中心一行调研株洲经开区社保系统数据迁移工作
- 余承东:没水平的人才打价格战 靠低价的车企很难走远
- 环球快讯:一理想车主雨天高速路躺平开车:用饮料瓶欺骗汽车“自动驾驶”
- 世界观焦点:济南工程职业技术学院举办山东省2023年度第一场“课程思政研课会”
- 世界快资讯丨印度一官员为找手机抽空210万升水库:最终结果神仙难救
- 余承东:我喜欢做产品、不喜欢吹牛打广告 焦点简讯
- 期待!国产大飞机C919商业航班今天首飞 全球热门
- 高考倒计时10天!今年新增21种普通本科新专业:考生报志愿注意|速讯
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
环球微动态丨Python 标准类库-因特网数据处理之Base64数据编码
该模块提供将二进制数据编码为可打印ASCII字符并将这种编码解码回二进制数据的功能。它为RFC 3548中指定的编码提供编码和解码功能。定义了Base16、Base32和Base64算法,以及事实上的标准Ascii85和Base85编码。
RFC 3548 编码适用于对二进制数据进行编码,以便可以安全地通过电子邮件发送,用作URL的一部分,或作为HTTP POST请求的一部分。编码算法与uuencode程序不同。
该模块提供了两个接口。现代接口支持将字节类对象(bytes-like-objects)编码为ASCII字节,并将字节类对象或者包含ASCII的字符串转为字节。支持 RFC 3548 中定义的所有base64字母表。
(资料图)
遗留接口不支持从字符串解码,但它提供了与文件类对象之间的编码和解码功能。它只支持Base64标准字母表,并根据RFC 2045每76个字符添加换行符。
Python 3.3版本中变更:现代接口的解码功能所接受只有ASCII的Unicode字符串。
Python 3.4版本中变更:该模块中的所有编码和解码功能所接受任何字节类对象。增加了Ascii85/Base85支持。
现代接口
base64.b64encode(s, altchars=None)
使用Base64对字节类对象 s进行编码,并返回编码后的字节。
altchars可选参数,必须是长度至少为2的字节类对象(多余的字符会被忽略),参数中给定字符按序分别用于替换编码后的字符集中的
+
和/
,等价于使用base64.urlsafe_b64encode(s)
。这允许应用程序生成例如URL或文件系统安全的Base64字符串。默认值为None
,使用标准的Base64字母表。base64.b64decode(s, altchars=None, validate=False)
解码Base64编码的字节类对象或ASCII字符串 s,并返回解码后的字节。
altchars可选参数,必须是字节类对象或长度至少为2的ASCII字符串(多余的字符会被忽略),按序分别用于替换解码前s中与
+
,/
的替代字符为+
和/
,等价于base64.urlsafe_b64decode(s)
。如果未正确提供 s值,将引发binascii.Error
异常。validate如果为
False
(默认值),则在填充检查前,将丢弃既不在标准 Base64 字母表之中也不在备用字母表中的字符。如果为True
,这些非base64字符将导致binascii.Error
。base64.standard_b64encode(s)
使用标准Base64字母表对字节类对象 s进行编码,并返回编码后的字节
base64.standard_b64decode(s)
使用标准Base64字母表对字节类对象 s进行解码,并返回解码后的字节
base64.urlsafe_b64encode(s)
使用 URL 与文件系统安全的字母表编码字节类对象s,使用
-
以及_
分别代替标准 Base64 字母表中的+
和/
。返回编码后的字节。结果中可能包含=
。base64.urlsafe_b64decode(s)
使用 URL 与文件系统安全的字母表解码字节类对象 s,使用
-
以及_
分别代替标准 Base64 字母表中的+
和/
。返回解码后的字节。查看参考官方文档,获取更多现代接口
示例
#!/usr/bin/env python# -*- coding:utf-8 -*-import base64str = "param1=a>2&url=http://www.example.com/?type=1"byte_obj = str.encode()# print(byte_obj) # 输出:b"param1=a>2&url=http://www.example.com/?type=1"print(base64.b64encode(byte_obj))#输出:b"cGFyYW0xPWE+MiZ1cmw9aHR0cDovL3d3dy5leGFtcGxlLmNvbS8/dHlwZT0x"encoded_obj = base64.b64encode(byte_obj, altchars=b"-_")print(encoded_obj)#输出:b"cGFyYW0xPWE-MiZ1cmw9aHR0cDovL3d3dy5leGFtcGxlLmNvbS8_dHlwZT0x"print(base64.b64decode(encoded_obj, altchars=b"-_"))#输出:b"param1=a>2&url=http://www.example.com/?type=1"#print(base64.b64decode(encoded_obj))#报错 binascii.Error: Incorrect paddingprint(base64.b64decode(str)) # 输出:b"\xa5\xaa\xda\x9bV\xb6\xba\xb9"str2 = "hello Mr授客"byte_obj2 = str2.encode("utf-8")encoded_obj2 = base64.standard_b64encode(byte_obj2)print(encoded_obj2) # 输出:b"aGVsbG8gTXLmjojlrqI="print(base64.standard_b64decode(encoded_obj2).decode("utf-8")) # 输出:hello Mr授客encoded_obj3 = base64.urlsafe_b64encode(byte_obj)print(encoded_obj3)#输出:b"cGFyYW0xPWE-MiZ1cmw9aHR0cDovL3d3dy5leGFtcGxlLmNvbS8_dHlwZT0x"print(base64.urlsafe_b64decode(encoded_obj3))#输出:b"param1=a>2&url=http://www.example.com/?type=1"
历史接口
base64.decode(input, output)
解码二进制input文件的内容,并将生成的二进制数据写入output文件。input和output必须是文件类对象。input将被读取,直到
input.readline()
”返回一个空字节对象。base64.decodebytes(s)
解码字节类型对象s,s必须包含一行或多行base64编码的数据,并返回解码后的字节。3.1版新增。
base64.decodestring(s)
decodebytes()
的别名,3.1版本中废弃。base64.encode(input, output)
对二进制input文件的内容进行编码,并将生成的base64编码数据写入output文件。input和output必须是文件类对象。input将被读取,直到
input.read()
返回一个空字节对象。base64.encode()
在output的每76个字节后插入一个换行符(b"\n"
),并确保output始终以换行结束,如RFC 2045 所示(MIME)。base64.encodebytes(s)
对可以包含任意二进制数据的字节类对象 s进行编码,并返回包含base64编码的字节数据。
base64.encode()
在输出的每76个字节后插入一个换行符(b"\n")
,并确保输出始终以换行结束。版本3.1中新增
base64.encodestring(s)
encodebytes()
别名,版本3.1中废弃。
示例
#!/usr/bin/env python# -*- coding:utf-8 -*-import base64# 注意:必须以二进制文件打开、写文件,否则会报错with open("./input.txt", "rb") as input: with open("output.txt", "wb") as output: base64.encode(input, output) base64_byte_data = b"cGFyYW0xPWE+MiZ1cmw9aHR0cDovL3d3dy5leGFtcGxlLmNvbS8/dHlwZT0x"print(base64.decodebytes(base64_byte_data))#输出:b"param1=a>2&url=http://www.example.com/?type=1"print(base64.encodebytes(b"param1=a>2&url=http://www.example.com/?type=1"))#输出:b"cGFyYW0xPWE+MiZ1cmw9aHR0cDovL3d3dy5leGFtcGxlLmNvbS8/dHlwZT0x\n"
关键词:
-
环球微动态丨Python 标准类库-因特网数据处理之Base64数据编码
该模块提供将二进制数据编码为可打印ASCII字符并将这种编码解码回二进制数据的功能。它为[RFC3548](https:
来源: -
世界微资讯!2023 Sun Simiao TCM International Forum kicks off in China's Shaanxi
2023SunSimiaoTraditionalChineseMedicineInternationalForumkickedoffFrid
来源: 环球微动态丨Python 标准类库-因特网数据处理之Base64数据编码
世界微资讯!2023 Sun Simiao TCM International Forum kicks off in China's Shaanxi
注意防范 7省市将现大到暴雨:部分地区有雷暴大风或冰雹-环球关注
快资讯丨直播:国产大飞机C919商业首飞!网友感叹中国人终于要坐上国产大飞机
时隔10年 索尼全新PS掌机Q公布!电池续航很堪忧
青海省内外贸易实现快速增长_新动态
一代网民青春记忆 天涯回应无法访问:拖欠多年电信IDC费已无法协商
周鸿祎训练数字人代替演讲!直言有危机感 不想被数字人“干掉”
全球视讯!《小美人鱼》北美票房第一
树莓派使用HC-SR04超声波测距-环球快播报
省社保中心一行调研株洲经开区社保系统数据迁移工作
余承东:没水平的人才打价格战 靠低价的车企很难走远
环球快讯:一理想车主雨天高速路躺平开车:用饮料瓶欺骗汽车“自动驾驶”
世界观焦点:济南工程职业技术学院举办山东省2023年度第一场“课程思政研课会”
世界快资讯丨印度一官员为找手机抽空210万升水库:最终结果神仙难救
余承东:我喜欢做产品、不喜欢吹牛打广告 焦点简讯
期待!国产大飞机C919商业航班今天首飞 全球热门
高考倒计时10天!今年新增21种普通本科新专业:考生报志愿注意|速讯
学系统集成项目管理工程师(中项)系列28_后记|快资讯
世界简讯:风云岛行动翩翩红桃皇后皮肤介绍(风云岛行动女角色泳装图)
SQL基础知识扫盲_环球播资讯
每日速讯:控制结构
环球观热点:五月天演唱会场内 大爷气定神闲被围观:网友为年龄最大歌迷点赞
百万美女网红“狗头萝莉”卖煎饼被当面辱骂 持续2小时:官方回应
天天微动态丨马斯克回应多年前嘲笑比亚迪 人家很强:超越丰田 登顶中国第一
第一个淘汰油车的国家:竟然在天寒地冻的北欧-天天热消息
热门看点:华硕、宏碁库存减少近40%!PC市场终于要复苏?
阿盟包括哪些国家和地区 阿盟包括哪些国家 天天头条
全球观天下!天龙八部sf最新发布网 天龙八部cyg
每日热文:烤面包制作过程分享给你,一学就会!
justification中文意思_justification
第五章:复制
数据库保护
美国人往海里丢了200万轮胎 引发生态灾难!22年没捞干净 观天下
天天即时看!全球2亿网友为深圳野生珊瑚“接生”!
pytorch--训练分层学习率设置
AMD等对手不足为惧 NVIDIA谈竞争优势:我们成本最低_全球观焦点
幼童学动画从26楼跳下 事发时家没人:竟无生命危险 网友感慨太幸运
【环球播资讯】才能开路虎上一句是什么_才能开
文心一言 VS 讯飞星火 VS chatgpt (23)-- 算法导论4.2 5题
我的第一个项目(十四) :完成数据保存功能(前端,增查改接口)
8)排序、分组|焦点热讯
世界“太阳能之父”:未来5年世界将依赖中国光伏 世界今亮点
3秒贴好0失败 Anker iPhone幻影壳膜29元起(一年内碎膜包赔) 每日快讯
3d贴图怎么贴上去-3d贴图怎么贴_动态
多人称被苹果充电头电伤:客服称正常 都在安全范围内 世界视点
吃火锅嗓子疼 10分钟就死人?等等 真相可能和你想的不一样_天天微资讯
中国超算再次问鼎全球 超越历史最佳纪录15倍
红薯多少度会受冷害影响?_世界即时看
今日观点!MySQL的SQL语句执行流程(简述)
CPU-Z 2.06正式升级:大力支持中国兆芯x86处理器
国产虚幻5《影之刃零》火了!索尼发布会播放量第三_环球观速讯
2023春季中国南水北调中线有限公司招聘拟聘人员公示_全球热消息
Doris(二) -- 基本概念和数据表模型
GeFore GPU杀进手机市场 联发科、NVIDIA合作旗舰级处理器:回应来了
研究发现人在打盹时最具创造力:创造性比清醒受试者多78%
是谁推高了榴莲价格?网友吐槽吃不起 动辄三四百块一个 有人热衷开盲盒-速读
佛山南海:明年6月底前完成全区初高中在校学生脊柱侧弯全员筛查 天天信息
低代码的“钱景”——专业的事交给专业的人来做
composer的安装
connection reset by peer 发生了什么?|每日简讯
环球讯息:人类一败涂地 60万年薪的高级工作可被AI取代:成本只要2000多
机票价格仅919元 国产大飞机C919首航在即:万亿航空市场开启|天天日报
方力钧画袁老后续处理结果 个人简历家庭背景最贵的画价值多少具体情况详细内容介绍 全球新要闻
热点在线丨出门倒车疑油门当刹车倒进村河 一家4口不幸身亡:网友叹息
32GB DDR5只要400多 内存要跌破成本了 最快7月反转 全球新要闻
天天快看点丨特斯拉CEO马斯克:比亚迪的产品极具竞争力
世界动态:苹果7月关闭我的照片流服务:用户需尽快迁移iCloud
世界短讯!如何通过Python将JSON格式文件导入redis?
《崩坏:星穹铁道》营收超《原神》!上线10日吸金1亿美元|当前速讯
亚运走进三江源 携手辉映生态之光 天天观点
全球热点!Linux工作原理1简介
3W字吃透:微服务网关SpringCloud gateway底层原理和实操
红黑树_每日资讯
未来边缘计算:趋于分布式智能
AI也有焦虑症?专家:微调模型AI可供医生研究“精神病人” 每日短讯
当前播报:专家:印度人口将是中国三倍 成全球第一人口大国
余承东:华为必须造车 是和车企一起造最好的车 快看点
环球热文:接连失效!西丽、西乡旧改都未获批!
x86游戏逆向之实战游戏线程发包与普通发包的逆向 快看
全球热门:理解JS中数组的常见应用
索引与分片|今日看点
泺怎么读什么意思(泺怎么读)
头条:司机担心违法被拍拒给救护车让路 回应扣分怎么办引热议:网友吵翻
韩方称要做好亚运会不公平待遇准备 国内选手吐槽:不配说公平 韩服笑死人
环球热消息:科技股票十年回报率:英伟达105倍第一 马斯克四字回应
23 Windows Sever 201服务器系统的安装以及远程控制的设置与使用
特斯拉车顶维权女车主回应败诉:有一案胜诉 获赔2万元
很是震撼!古人吃剩的螺蛳壳堆成一座山 13个足球场大小
世界通讯!杨紫琼版观音菩萨引热议!《西游ABC》差评不断:豆瓣已5.6分
全球即时:越南大牌:Lipo柠檬味面包干8.9元/包抄底
夏日炎炎过夏“神裤”!匹克冰丝裤2.6折狂促:到手64-每日热讯
当前最新:蚂蚁庄园支付宝问答:钙片含钙量越高补钙效果越好吗
《安富莱嵌入式周报》第313期:搬运机器人,微软出的C语言手册,开源生物信号采集板,开源SMD回流焊,开源SDR无线电,汽车级机器人评估板|天天即时
天天要闻:13-分频器-奇分频
天天热点评!中国手机市场连续5个季度暴跌 越来越多手机卖不动!为啥年轻人不换新手机了?
每日时讯!4G成熟 你会升5G吗?中国移动喊话不缩减5G投入:华为等中新集采大单
定边县冯地坑镇冯地坑村扶贫互助资金协会 天天时讯
在这片生态走廊,孩子们探究生物多样性…… 即时
环球微资讯!Go 语言 map 如何顺序读取?