1

ここでは、 8 ビット クリーンの意味の概要を示します。

Web アプリケーションのコンテキストで、画像が Base64 として保存されるのはなぜですか? 8 ビット クリーンであることに関連して 33% のオーバーヘッドがあります。

送信方法が安全であれば、これは必要ありません。

しかし基本的に、私の画像はサーバー上の Base64 で保存され、クライアントに転送されます。

これは、SO Post の Base 64 のクライアント側バージョンです。

JavaScriptで文字列をBase64にエンコードするにはどうすればよいですか?

http/https 8 ビットはクリーンですか?

参照

http://www.princeton.edu/~achaney/tmve/wiki100k/docs/8-bit_clean.html

http://en.wikipedia.org/wiki/8-bit_clean

4

4 に答える 4

7

あなたは2つの異なることを求めています。

  1. Q: http 8 ビットはクリーンですか?

    A:はい、HTTP は「ビット 8 クリーン」です。

  2. Q: Web アプリケーションのコンテキストで、画像が Base64 として保存されるのはなぜですか?

    A:通常、画像は Base64 で保存されません。実際、それらはほとんどありません。それらは通常、圧縮されたバイナリ形式 (PNG または JPG など) で保存、送信、またはストリーミングされます。

    Base64 は、HTML 内に画像を埋め込むために使用されます。

それで、あなたはイメージを得ましたlogo.png。としてページに静的に含めます<img src='logo.png'>。画像はHTTPを介してバイナリで送信され、ブラウザ側でもサーバー側でもエンコードされません。これは最も一般的なケースです。

または、画像のコンテンツを HTML 内に埋め込むこともできます。これにはいくつかの利点があります。ブラウザーは、HTML ファイルの同じ HTTP GET 応答で既に画像を受信して​​いるため、画像を取得するためにサーバーに再度アクセスする必要がありません。ただし、HTML ファイルはテキストであり、特定の文字値が (HTTP ではなく) HTML に対して特別な意味を持つ場合があるため、HTML テキスト内にバイナリ値を埋め込むことはできません。このような衝突を避けるために、それらをエンコードする必要があります。最も一般的なエンコード方法は base64 で、オーバーヘッドの 33% だけですべての衝突を回避します。

于 2013-09-16T15:25:50.873 に答える