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

StackOverflow https://stackoverflow.com/questions/4144704

Вопрос

Просто построил небольшое WebApp для предварительного просмотра HTML-документов, которые генерируют URL-адрес: S, содержащий HTML (и все встроенные CSS и JavaScript) в закодированных данных BASE64. Проблема в том, что URL: S быстро получить вроде. Что является стандартным способом «де-факто» (желательно JavaScript) Чтобы сначала сжать строку без потери данных?

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

РЕДАКТИРОВАТЬ:

Решение найдено; Похоже, Rawstr => utf8str => lzwstr => base64str - путь. Я продолжаю работу над реализацией сжатия Хаффмана между UTF8 и LZW. Проблема до сих пор, что слишком много символов становятся очень длинными, когда кодируются на Base64.

Это было полезно?

Решение

Проверить Этот ответ. Отказ Он упоминает функции для сжатия / декомпрессии LZW (через http://jsolait.net/, конкретно http://jsolait.net/browser/trunk/jsolait/lib/codecs.js.).

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top