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")