Как мне это сделать?
Похоже, не существует бесплатной или проприетарной программы, которая могла бы сделать это, поэтому я подумал, что мог бы попробовать сделать простую (хотя и неэффективную) один.
Основная идея, которую я имею, состоит в том, чтобы создать функцию от текущих шестнадцатеричных/десятичных/двоичных значений, используемых для каждого символа, до 128 значений, которые я бы имел в семибитной кодировке, затем просканировать файл и записать каждое измененное значение в новый файл.
Итак, если бы файл выглядел так (я буду использовать десятичный пример, потому что я стараюсь не думать в шестнадцатеричном формате)
127 254 025 212 015 015 132...
Это будет
001 002 003 004 005 005 006
Если 127 сопоставить с 001, 254 сопоставить с 005, и т. д.
Однако я не совсем уверен в нескольких вещах.
- Было ли этого достаточно, чтобы действительно сократить размер файла? У меня плохое предчувствие, что в двоичной строке просто останется лишний 0 — 11011001 может быть сопоставлен с 01000001, а не с 1000001, и я на самом деле не сэкономлю место.
Если это произойдет, как мне избавиться от нуля? - Как мне открыть файл для чтения/записи в двоичном/десятичном/шестнадцатеричном формате, а не просто в виде текста?
Я в основном работал с Python, но при необходимости могу разобраться и с C.
Подробнее здесь: https://stackoverflow.com/questions/183 ... fewer-bits
Мобильная версия