Python数据类型转换与编码解码实战:从long_to_bytes到base64解码
Python数据类型转换与编码解码实战:从long_to_bytes到base64解码
在网络安全领域,尤其是CTF比赛中,经常需要对数据进行各种转换和处理。本文将介绍Python中几种常见的数据类型转换方法,并结合代码实例进行演示。
1. 长整数转换为字节串:long_to_bytespythonfrom Crypto.Util.number import long_to_bytes
a = 30772543014919602267414633191b = long_to_bytes(a)
print(b)
这段代码首先导入了Crypto.Util.number模块中的long_to_bytes函数。然后,将一个长整数赋值给变量a,并使用long_to_bytes函数将其转换为字节串,存储在变量b中。最后,打印出变量b的值。
2. 十六进制字符串转换为字节串:bytes.fromhexpythonsecret2 = 'bc96e7a081e698afe5ada620'c= bytes.fromhex(secret2)
print(c)
这段代码定义了一个十六进制字符串secret2,然后使用bytes.fromhex()函数将其转换为字节串,存储在变量c中,并打印出来。
3. 二进制字符串转换为整数:intpythonsecret3 = '0b10000110111001001111001011100000111010001101111001000001110011110011010100001001110011110101100'n = int(secret3, 2)d= n.to_bytes((n.bit_length() + 7) // 8, 'big')
print(d)
这段代码定义了一个二进制字符串secret3,使用int(secret3, 2)将其转换为整数n,并使用to_bytes()方法将整数n转换为字节串d,最后打印d的值。
4. Base64编码解码pythonimport base64
secret4 = b'rOS4gOatpeOAgiF9'e = base64.b64decode(secret4)
print(e)
这段代码首先导入了base64模块,然后定义了一个base64编码的字符串secret4,使用base64.b64decode()函数对其进行解码,将解码后的结果存储在变量e中,并打印出来。
5. 字符串编码与解码pythonr=b'cnss{å¦ä¼ç¼ç æ¯å¦Crypto çç¬¬ä¸æ¥ã!}'s=r.decode('utf-8')print(s)
T=b'xa5ã'u=T.decode('utf-8')print(u)
这段代码展示了如何使用decode方法对字节串进行解码,将其转换为Unicode字符串。
总结
本文介绍了Python中几种常见的数据类型转换方法,包括long_to_bytes、bytes.fromhex、int以及base64编码解码等,并结合代码实例演示了它们的用法,希望能够帮助读者更好地理解和掌握Python数据处理技巧。在实际应用中,我们需要根据具体的需求选择合适的方法进行数据转换和处理。
原文地址: https://www.cveoy.top/t/topic/VlH 著作权归作者所有。请勿转载和采集!