Files
2026-07-13 15:37:05 +08:00

37 lines
1.2 KiB
Python

import binascii
def image_to_binary(image_path):
"""将图片文件转换为二进制数据"""
with open(image_path, 'rb') as file:
return file.read()
def binary_to_image(binary_data, output_path):
"""将二进制数据保存为图片文件"""
with open(output_path, 'wb') as file:
file.write(binary_data)
def binary_to_hex(binary_data):
"""将二进制数据转换为十六进制字符串"""
return binascii.hexlify(binary_data).decode('utf-8')
def hex_to_binary(hex_string):
"""将十六进制字符串转换回二进制数据"""
return binascii.unhexlify(hex_string)
# 使用示例
if __name__ == "__main__":
# 读取图片并转换为二进制
binary_data = image_to_binary('./tcp_data/VDES报文传输的图片.jpg')
print(f"原始图片大小: {len(binary_data)} 字节")
# 转换为十六进制字符串
hex_data = binary_to_hex(binary_data)
print(f"十六进制表示长度: {len(hex_data)} 字符")
print(f"十六进制预览: {hex_data}...")
# 转换回二进制
restored_binary = hex_to_binary(hex_data)
# 保存回图片文件
# binary_to_image(restored_binary, 'output.jpg')
# print("图片已成功转换并保存为 output.jpg")