Python 中如何将十六进制转换为 Base64
作者:迹忆客 发布时间:2022-09-07 01:20:14
本篇文章将介绍在 Python 中将 hex 转换为 base64 的方法。
使用 Python 中的 codecs 模块将 HEX 转换为 BASE64
Python 中的 codecs 模块提供了 encode()
和 decode()
方法来实现不同文本编码格式之间的转换。
encode()
函数有两个参数; 输入字符串和编码该字符串所需的格式。 此 encode()
函数的返回类型是以第二个参数中指定的格式编码的字符串。
decode()
函数也只有两个参数; 编码的输入字符串和输入字符串的编码格式。 decode()
函数根据第二个参数中指定的格式返回解码后的字符串。
要将十六进制字符串编码为 base64 字符串,我们首先通过将 hex 指定为第二个参数,使用 decode()
函数将该十六进制字符串解码为常规字符串。 然后,我们将通过将 base64 指定为第二个参数,使用 encode()
函数对先前操作的输出进行编码。
以下代码片段详细说明了使用 Python 中的编解码器模块将十六进制字符串编码为 base64 字符串所需的步骤。
import codecs
hex_string = "10000000000002ae"
b64_string = codecs.encode(codecs.decode(hex_string, 'hex'), 'base64').decode()
print(b64_string)
输出:
EAAAAAAAAq4=
在上面的代码中,我们使用编解码器模块将十六进制字符串 10000000000002ae 编码为 base64 字符串 EAAAAAAAAq4= 。
使用 Python 中的 base64 模块将 HEX 转换为 BASE64
Python 中另一个用于在不同文本编码格式之间进行转换的有用模块是 base64。 base64 模块为此任务提供了 b64encode()
和 b64decode()
函数。
b64encode()
函数将字节串作为输入参数,将其转换为base64格式,返回base64编码后的字符串。 同样,b64decode()
函数采用 base64 编码的字符串,将其转换为字节字符串,并返回解码后的字节字符串。
对于这个特殊问题,我们必须首先使用 bytes.fromhex()
函数将输入字符串转换为字节字符串。 然后,我们将使用 b64encode()
函数将该字节字符串编码为 base64 字符串。
以下代码片段演示了我们如何使用 Python 中的 base64 模块将十六进制字符串编码为 base64 字符串。
from base64 import b64encode, b64decode
hex_string = '10000000000002ae'
b64_string = b64encode(bytes.fromhex(hex_string)).decode()
print(b64_string)
输出:
EAAAAAAAAq4=
在上面的代码中,我们使用 base64 模块将十六进制字符串 10000000000002ae 编码为 base64 字符串 EAAAAAAAAq4=。
使用 Python 中的 binascii 模块将 HEX 转换为 BASE64
我们还可以使用 Python 的 binascii 模块在不同的文本编码格式之间进行转换。 binascii 模块提供了 unhexlify()
和 b2a_base64()
等函数,可以在这种情况下使用。
unhexlify()
函数将十六进制字符串作为输入参数,将其转换为字节字符串,并返回结果。 b2a_base64()
函数将一个字节字符串作为输入参数,将其转换为 base64 字符串,并返回结果。
在我们的特定问题中,我们需要首先使用 unhexlify()
函数将十六进制字符串转换为字节字符串,然后使用 b2a_base64()
函数将前面操作的结果转换为 base64 字符串。
以下代码示例演示了如何使用 binascii 模块在 Python 中将十六进制字符串转换为 base64。
from binascii import unhexlify, b2a_base64
hex_string = "10000000000002ae"
b64_string = b2a_base64(unhexlify(hex_string))
print(b64_string)
输出:
EAAAAAAAAq4=
在上面的代码中,我们使用 binascii 模块将十六进制字符串 10000000000002ae 编码为 base64 字符串 EAAAAAAAAq4=。 在上面讨论的所有方法中,binascii 方法是最直接的,我们需要编写最少的代码来实现它。
在 Python2 中将 HEX 转换为 BASE64
另一方面,如果我们使用原生支持十六进制和 base64 字符串的 Python2,我们可以大大减少所需的代码量。 下面的代码片段演示了我们如何在 Python2 中将十六进制字符串转换为 base64 字符串。
hex_string = "10000000000002ae"
b64_string = hex_string.decode("hex").encode("base64")
print(b64_string)
输出:
EAAAAAAAAq4=
我们不需要在上面的代码中导入任何模块,因为 Python2 本身就支持十六进制和 base64 字符串。 我们首先使用 decode("hex")
函数将十六进制字符串转换为字节字符串,然后使用 encode("base64")
函数将其输出编码为 base64。
来源:https://blog.csdn.net/fengqianlang/article/details/130986640
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- 对于Dreamweaver这个广大用户早有听闻的网页编辑工具,除功能强大外,Dreamweaver一向被推崇为同类网页编辑软件中产生垃圾代码
- 本文实例分析了Python减少循环层次和缩进的技巧。分享给大家供大家参考,具体如下:我们知道Python中冒号和缩进代表大括号,这样写已经可
- 本文实例为大家分享了php微信公众号开发之快递查询的具体代码,供大家参考,具体内容如下快递查询数组用法foreach查询接口是:爱快递:ht
- 解决方法:1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql
- 来与大家分享。稍加改造就可以实现更强大的功能了。用下面的代码就可以简单的批量导出picasa相册的外链了。代码如下:<%@LANGUA
- 前言在python基础知识中有说过,字典是可变的数据类型,其参数又是键对值。setdefault()方法和字典的get()方法在一些地方比较
- 根据一般做法的话,导出部分字段时没有办法生成格式化XML文件,所以导入时就没有办法格式化导入数据。 我想到两点,1.手工修改格式化XML文件
- 昨天有位同事说,他的网页查询过程中发现普通索引和唯一索引的效率是有差别的,普通索引比唯一索引快,今天在我的虚拟机中布置了环境,测试抓图如下:
- 硬币兑换问题:给定总金额为A的一张纸币,现要兑换成面额分别为a1,a2,....,an的硬币,且希望所得到的硬币个数最少。# 动态规划思想
- 今晚开放ecmall商城的QQ登陆功能,在回调时产生错误,file_get_contents函数执行时,没有抓取到正确的信息,于是改用cur
- 废话不多说了,直接给大家贴代码了,具体代码如下所示:// ----ajax begin $.ajax({type: "
- 前言最近因为工作的需要,在写一些python脚本,总是使用print来打印信息感觉很low,所以抽空研究了一下python的logging库
- 破解滑块验证码的思路主要有2种:获得一张完整的背景图和一张有缺口的图片,两张图片进行像素上的一一对比,找出不一样的坐标。获得一张有缺口的图片
- 简单来说,三种方法是为了删除字符串中不同位置的指定字符。其中,strip()用于去除字符串的首尾字符,同理,lstrip()用于去除左边的字
- 网页广告 Banner 设计图文手册:采用以下要点来改善你的BANNER。广告并不便宜。 确信你的广告被第一时间读到。使用像这样的Sans
- 本文出自“Python为什么”系列,归档在 Github 上:https://github.com/chinesehuazhou/pytho
- 在应用系统中,尤其在联机事务处理系统中,对数据查询及处理速度已成为衡量应用系统成败的标准。而采用索引来加快数据处理速度也成为广大数据库用户所
- 可以不依靠DSN,但又可以在数据库连接字符串中指定驱动程序、服务器名字、数据库、数据库账号和密码吗?可以。在SQL Server 7,使用这
- 修改文件的名字 使用“FileSystemObject(文件系统对象)”的GetFile函数得到一个“文件对象”,然后修改这个“文件对象”的
- 实例一--爬取页面import requestsurl="https//itemjd.com/2646846.html"