以下是一个简单的Python类,包含了hex解码和base64编码的功能。这个类可以很方便地在你的项目中复用。
class EncodingDecodingTools:
@staticmethod
def hex_decode(hex_str):
"""
将十六进制字符串解码为字节串。
:param hex_str: 十六进制字符串,例如 '48656c6c6f'
:return: 解码后的字节串
"""
# 去除十六进制字符串中的空格(如果有的话),并确保字符串长度为偶数
hex_str = hex_str.replace(" ", "").strip()
if len(hex_str) % 2 != 0:
raise ValueError("Hex string must have an even number of characters")
# 使用bytes.fromhex()方法进行解码
return bytes.fromhex(hex_str)
@staticmethod
def base64_encode(data):
"""
将字节串进行base64编码。
:param data: 要编码的字节串
:return: 编码后的base64字符串
"""
# 使用base64.b64encode()方法进行编码,并返回编码后的字符串(去掉b前缀并转为str)
import base64
return base64.b64encode(data).decode('utf-8')
# 示例使用
if __name__ == "__main__":
hex_str = "48656c6c6f20576f726c64" # Hello World的十六进制表示
decoded_bytes = EncodingDecodingTools.hex_decode(hex_str)
print("Hex decoded bytes:", decoded_bytes) # 输出: b'Hello World'
data_to_encode = b"Hello World"
encoded_str = EncodingDecodingTools.base64_encode(data_to_encode)
print("Base64 encoded string:", encoded_str) # 输出: SGVsbG8gV29ybGQ=
这个类提供了两个静态方法:`hex_decode`用于将十六进制字符串解码为字节串,`base64_encode`用于将字节串进行base64编码。你可以在你的项目中直接调用这些方法,而不需要实例化这个类。