12

base64でエンコードされたデータにHTML(およびすべてのインラインCSSとJavascript)を含むURLを生成するHTMLドキュメントをプレビューするための小さなWebアプリを構築しました。問題は、URLがすぐに長くなることです。データを失うことなく最初に文字列を圧縮するための「事実上の」標準的な方法(できればJavascriptによる)は何ですか?

PS; しばらく前に学校でハフマンとレンペルジブについて読んだことがありますが、LZWを本当に楽しんだことを覚えています:)

編集:

解決策が見つかりました。rawStr => utf8Str => lzwStr=>base64Strが進むべき道のようです。私はさらに、utf8とlzwの間にハフマン圧縮を実装することに取り組んでいます。これまでの問題は、base64にエンコードすると非常に多くの文字が非常に長くなることです。

4

2 に答える 2

5

この答えをチェックしてください。LZW圧縮/解凍の関数について説明しています(http://jsolait.net/、具体的にはhttp://jsolait.net/browser/trunk/jsolait/lib/codecs.js経由)。

于 2010-11-10T13:25:19.050 に答える
1

URLを非常に圧縮するのに苦労します。URLは短すぎて、ハフマン/LZWスタイルのアルゴリズムから多くの利益を得るのに十分な冗長情報が含まれていません。

可能なURLのスペースに制約がある場合(たとえば、すべてのコンテンツが同じフォルダーセットにある傾向がある場合)、クライアントで拡張するためにURLの一部をハードコーディングできます(つまり、チート)。

于 2010-11-10T13:07:01.027 に答える