このツールの動作
テキストを UTF-8 のバイト列に変換し、そのバイト列を Base64 に符号化します。この2段階の順序が重要です。Base64 が符号化するのはバイトであって文字ではなく、出力を決めるのはバイト数だからです。
café が Y2Fmw6k= になるのはそのためです。4ではなく5バイトで、アクセント付きの文字が2バイトを占めます。
URLで使える変種
標準の Base64 は + と / を使いますが、どちらも URL の中では固有の意味を持ちます。URL 用のアルファベットはこれらを - と _ に置き換え、クエリ文字列で同様に扱いにくい = の埋め文字も省きます。
そのため a は通常なら YQ==、この変種では YQ になります。このアルファベットを解する復号器は埋め文字なしの形も受け付けます。RFC 4648 が意図しているのはまさにそれです。
Base64ではないもの
Base64 は暗号化ではありません。 鍵はなく、秘密も存在せず、このツールを含むどんな道具でも1手順で復号できます。テキストしか通さない経路にバイトを載せるための手段です。データ URI、メールの添付、JSON の欄などがそれにあたります。
パスワードやトークンを Base64 に置いても、何も守られません。ログを流し読みする人にとって少し分かりにくくなるだけで、それは安全性ではありません。
サイズ
出力は埋め文字を含めて入力のおよそ3分の1増になります。3 KB のファイルは 4 KB 程度の Base64 になります。画像をスタイルシートやデータ URI に埋め込む前に知っておくとよい数字です。
プライバシー
すべての処理はブラウザ内のJavaScriptだけで完結します。データがアップロードされることはないため、機密情報でも安心して利用でき、オフラインでも動作します。