У меня есть куча длинных строк (16200 символов), которые я хочу сжать. Вся строка использует только 12 разных символов (в настоящее время _oOwWgGmdDsS и, но при необходимости они могут измениться).Сжатие простого текста в текст
Я ищу для сжатия этой строки. В настоящее время я создал схему сжатия, где каждый раз, когда я сначала помещаю символ, а затем сколько раз он появляется перед тем, как другой находится в строке. Так что если несжатый текст выглядит следующим образом:
ooooooWW_
Затем сжатый становится
o6W2_1
Для строк я в настоящее время имею это уменьшило размер примерно от 128 Мб до 4 Мб. Однако, как вы можете видеть, для W нет спасения, а для _ есть даже потеря.
Так что мне было интересно, существуют ли более сложные схемы сжатия, которые я могу использовать? Конечным результатом должен быть простой текст, а не двоичные данные.
Примечание: Было бы также замечательно, если для них существует библиотека для Python и Lua.
Вам не нужно добавлять '1'. Ваш декодер может предположить, что если цифра не соответствует другому символу, то этот символ появляется только один раз. –