我在这里需要一点帮助,不要问我为什么这是一个疯狂的想法,但我想将任何文件转换为纯二进制代码 1 和 0,然后再转换回原始文件。要求是在转换时,二进制代码需要以字符串数据类型存储在变量中,并且接收二进制代码的函数也接受字符串数据类型的代码。我很感激 python 中的解决方案,但也欢迎使用其他语言。
我尝试这样做,但是当我转换回原始文件时,它总是损坏。我试图将它转换为十六进制,然后再转换为二进制,但我无法实现。
这里有一个 Python 代码示例,可以将任何文件转换为二进制代码字符串,然后再转换回原始文件:
def file_to_binary_string(file_path):
with open(file_path, 'rb') as file:
binary_code = file.read()
binary_string = ''.join(format(byte, '08b') for byte in binary_code)
return binary_string
def binary_string_to_file(binary_string, file_path):
with open(file_path, 'wb') as file:
bytes_list = [int(binary_string[i:i+8], 2) for i in range(0, len(binary_string), 8)]
bytes_arr = bytearray(bytes_list)
file.write(bytes_arr)
# Usage example
file_path = 'example.pdf'
binary_string = file_to_binary_string(file_path)
binary_string_to_file(binary_string, 'new_example.pdf')