BlobとBase64の違い
Categories:
javascript
はじめに…
どっちもバイナリ…くらいの認識でした。 ちゃんと理解しないと..
Blob
Binary Large OBject の略。 要はバイナリ。 バイナリはテキストとか画像とかのおおもとだということです。
Base64
一口にバイナリと言っても、そのデータの形式は様々です。 Aデバイスで使えてもBデバイスで使えるとは限りません。 たとえばAデバイスだけで使える文字が入ってたらだめですよね。 たとえば画像ならbase64で使えない@マークが入っています。 そこで共通の規格を作りました。 それがBase64。
Base64は、データを64種類の印字可能な英数字のみを用いて、それ以外の文字を扱うことの出来ない通信環境にてマルチバイト文字やバイナリデータを扱うためのエンコード方式である。
だ、そうです。
なので バイナリ -> base64にエンコードは どのデバイスでも使えることを確保します。 プログラムにおいてはBase64をデータをインターフェイスにしていることもあるので エンコードが必要な場合があります。
const Blob = "実際にはバイナリデータ";
class バイナリ扱う// 引数はbase64が必要
new バイナリ扱う(Blob); // not working
new バイナリ扱う(エンコードblobToBase64(Blob)); // OK!!!!!!!
こんなかんじ。(かんじです)