0

画像を base64 に変換して、それを自分の html に追加できることがわかりました。base64 の問題は、生成されるデータが、私の場合、png 画像ファイル (圧縮された最大 300KB の css スプライト) よりも 33% 大きいことです。

base64を使用せずに画像データを送信し、クライアント上で画像に組み立てる方法はありますか?

16進画像データを送信してから、javascriptを使用してbase64に変換することを考えていました。可能に思えますが、表示されるだけで base64 から即座にデコードされるため、信じられないほど冗長です。

何か案は?

4

1 に答える 1

0

ファイルサイズを確認するためにいくつかのテストを行ったところ、大きな違いはないことがわかりました.

sizeof(gzip(index.html + sprite.png)) = 301KB

sizeof(gzip(index_inline_b64_sprite.html)) = 302KB

base64 テキストは png 自体よりも約 33% 大きいですが、一度 gzip されると、大きな違いはないようです。

どのようなソリューションでも、おそらく深刻なクロスブラウザーがあり、html ファイルに奇妙な 16 進数が追加されるというセキュリティ上の問題が発生する可能性があることを考慮に入れると、私の場合は、base64 に固執する方が良いソリューションのように思えます。

また、HTML の ascii hex がはるかに大きくなることを指摘してくれた Barmar に感謝します。最初は気づきませんでした。

于 2012-11-14T18:11:33.047 に答える