Метод сжатия без потерь для сокращения строки до кодировки base64, чтобы сделать ее короче?

просто построил небольшой webapp для предварительного просмотра HTML-документов, который генерирует URL: s, содержащий HTML (и все встроенные CSS и Javascript) в кодированных base64 данных. Проблема в том, что URL-адрес: s быстро становится длинным. Каков стандарт "де-факто" (желательно Javascript) для сжатия строки сначала без потери данных?

PS; Я читал о Хаффмане и Лемпеле-Зиве в школе некоторое время назад, и я помню, что действительно наслаждался LZW:)

EDIT:

найденное решение; похоже, что rawStr = > utf8Str = > lzwStr = > base64Str - это путь. Я продолжаю работать над сжатием huffman между utf8 и lzw. Проблема в том, что слишком много символов становятся очень длинными при кодировке base64.

Ответ 2

Вы будете изо всех сил пытаться полностью сжаться по URL-адресу, они слишком коротки и не содержат достаточной избыточной информации, чтобы получить большую пользу от алгоритмов стиля Huffman/LZW.

Если у вас есть ограничения на пространство возможных URL-адресов (например, все содержимое имеет одинаковый набор папок), вы можете жестко закодировать некоторые части URL-адресов для расширения на клиенте - т.е. чит.