first commit
This commit is contained in:
37
报文模拟解析/地检设备模拟/img_to_bin.py
Normal file
37
报文模拟解析/地检设备模拟/img_to_bin.py
Normal file
@@ -0,0 +1,37 @@
|
||||
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")
|
||||
Reference in New Issue
Block a user