Base64 エンコードを使用する利点は何ですか?
もっとよく理解したいと思います。本当に必要ですか?純粋な文字列を単純に使用できないのですか?
エンコーディングはオリジナルよりも最大30%大きくなる可能性があると聞きました(少なくとも画像の場合)。
元々、一部のプロトコルでは7ビット、場合によっては6ビットのデータしか使用できませんでした。
Base64では、8ビットデータを6ビットにエンコードして、これらのタイプのリンクで送信できます。
メールはその一例です。
Base64エンコーディングの主な使用例は、制限された文字セットでデータを保存または転送する場合です。つまり、各バイトで任意の値を渡すことができない場合。
<img alt="Embedded Image"
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA..." />
このコードはエンコードされた画像を表示しますが、他のWebサイトからこの画像にリンクしてトラフィックを使用することはできません。
1つのアプリケーションは、文字のみが許可されているコンテキストでバイナリデータを転送することです。例えば。 XMLドキュメント/転送。 XML-RPC はこの例です。
誰かが言ったように、Base64エンコードの利点は、バイナリから(最も一般的に)ASCII文字に)データを送信するために利用できます。受信側がASCIIを処理できる可能性が高いため、テキストストリームを介してバイナリデータを転送するための素晴らしい方法。
状況がネイティブバイナリデータを処理できる場合、速度などの点でより良い結果が得られる可能性が高くなりますが、そうでない場合は、Base64が最適です。 JSONは、このようなメリットが得られる場合や、テキストフィールドに格納する必要がある場合の良い例です。詳細を教えていただければ、より的確な回答を提供できます。
[〜#〜] blob [〜#〜] データを文字列に変換して戻す...
使用するかどうかは、使用目的によって異なります。
テキストファイル用に実際に作成されたメカニズムを通過するバイナリデータのエンコードに主に使用しました。たとえば、デジタル証明書のリクエストを渡したり、完成したデジタル証明書を取得したりする場合、これらのケースでは、Webフォームのテキストフィールドを介してバイナリデータをBase 64として渡すと非常に便利です。
あなたがすでにテキストである何かを持っていて、それをどこかに渡したいだけなら、私はおそらくそれを使いません。
私はそれがテキストファイルのように見えるために電子メールプログラムによって乱される傾向があるファイル(たとえば、再生用のHL7トランスクリプト)を渡すために使用します。