JSゆるふわめも

がっこうでべんきょうしたことをめもがきしてます

Base64メモ

A-Z(26)

a-z(26)

0-9(10)

+-,(2)

26 + 26 + 10 + 2 = 64文字

で表現されるエンコード方式

[変換前]Today is sunny

[変換後]VG9kYXkgaXMgc3Vubnku

 

で、何に使うの?

 

現在では、JSONなどで特殊文字を含まないように画像データをbase64エンコードしたり、Webページの表示の際にリクエスト数を減らすためにbase64エンコードした画像をhtmlにそのまま埋め込むなどの用途で用いられています

 

特殊文字 を汎用的な文字?に置き換えることによって、環境依存を避ける

リクエスト数を減らす?よく分からないのでググる

 

画像データをBase64エンコードして、取得した文字列を用いてインラインイメージ(HTML/CSSに埋め込まれたイメージデータ)化する。

つまり、10個の画像データがHTMLファイルとは別に管理されていた場合、それらにアクセスするために10回リクエストが飛ぶが、HTMLファイルに埋め込んでしまえば1度のアクセスで済むので高速にページが表示できるよね。といった話

 

当然というかイメージで大体わかると思うが、文字列に変換することでデータ容量は増える。根拠は調べてないが約37%増加する。

 

参考

qiita.com

文字列を変換する - オンライン文字列変換ツールを

HTTPリクエスト数削減テクニック1: インラインイメージ編 (1/3):CodeZine(コードジン)