Нет, потому что вы могли бы использовать такую программу для сжатия бесконечных объемов памяти в конечное пространство.
Реализация кодировки:
input = read('LIBRARY_OF_CONGRESS.tar.bz2')
input_binary = convert_to_binary(input)
json_opening = replace({'0':'[', '1':'{'}, input_binary)
your_program <INPUTPIPE >/dev/null
INPUTPIPE << json_opening
Запустите вышеуказанную программу и затем клонируйте виртуальную машину, на которой она запущена. Это ваша сжатая версия конечного пространства бесконечно большого набора входных данных. Затем декодировать ...
Реализация декодирования:
set_output_pipe(your_program, OUTPUTPIPE)
INPUTPIPE << EOL
json_closing << OUTPUTPIPE
output_binary = replace({']':'0', '}':'1'}, reverse(json_closing))
output = convert_from_binary(output_binary)
write(output, 'LIBRARY_OF_CONGRESS-copy.tar.bz2')
И, конечно, у всего хорошего кода должен быть тестовый пример ...
Контрольный пример:
bc 'LIBRARY_OF_CONGRESS.tar.bz2' 'LIBRARY_OF_CONGRESS-copy.tar.bz2'