このツールの動作
Base64 をバイト列に復号し、そのバイト列を UTF-8 のテキストとして読みます。どちらの段階にも意外な点があるため、両方を述べます。
届いた形のまま受け付けます
実際の Base64 が整った1行であることはめったにありません。
- 改行 — MIME は仕様上76桁で折り返し、
base64コマンドは既定で折り返し、PEM ブロックも折り返されています。 - URL用のアルファベット —
+と/の代わりに-と_。 - 欠けた埋め文字 — URL 用の形式は
=を意図的に省き、多くの符号化器も省略します。
いずれも受け付けます。空白を除き、アルファベットを正規化し、埋め文字を補います。本当に Base64 でないものは、推測ではなくエラーとして失敗します。
バイト列、そしてテキスト
Base64 が運ぶのはバイトであって文字ではありません。そのバイトがテキストであるとは、符号化のどこにも書かれていません。PNG かもしれず、秘密鍵かもしれず、圧縮書庫かもしれません。
このツールはそれを UTF-8 として読みます。一般的な場面ではそれが望まれるからです。元が binary だった場合は置換文字が現れます。これは復号器の失敗ではなく、テキストでなかったものにテキストを求めた結果を正直に示しているだけです。
Base64は暗号化ではありません
この向きでも繰り返す価値があります。ここで値を読めるなら、それを傍受した者にも読めます。Base64 に鍵はなく、秘密もありません。ログの中で見つかったトークンは、符号化されていようといまいとトークンです。
プライバシー
すべての処理はブラウザ内のJavaScriptだけで完結します。データがアップロードされることはないため、機密情報でも安心して利用でき、オフラインでも動作します。