みかづきブログ・カスタム

基本的にはちょちょいのほいです。

base64でbrank.gifを生成する 🖼

f:id:kimizuka:20200721172253p:plain

ウェブサイト制作中、まれに1px × 1pxの透過画像が欲しいなと思うことがあります。
主に、IEやAndroidのバグ回避のときなどなんですが。

そんなとき、画像ファイルを用意するのは面倒なので、base64をつかってました。

1px × 1pxの透過pngならこんな感じです。

透過png(base64)

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEVHcEyC+tLSAAAAAXRSTlMAQObYZgAAAApJREFUeNpjZAAAAAQAAozs1+cAAAAASUVORK5CYII=

そして、ふと、透過gifならもっと短い文字列になるんじゃないかと思いまして、挑戦してみたんですがなぜかうまくいきません。
原因はわからないのですが、1KBのファイルをbase64化しても、やたら長い文字列になってしまいます。

が。ウェブで検索してみたところ、1px × 1pxの透過gifはblank.gifと呼ばれていることを知り、最短で74文字みたいです。

> 透過gif(base64)

data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==

pngよりも短くなりましたね。
今後はこれをつかっていこうと思います。