🔤Base64エンコード・デコード
文字列を Base64 にエンコード、Base64 を元の文字列にデコードします。日本語(UTF-8)、URL セーフな Base64、画像などのファイルを Data URI に変換する機能もあります。
Base64 でサイズはどれくらい増える?
3バイトを4文字で表すので、元のデータの約1.33倍になります。画像を Data URI でHTMLに埋め込むと、小さなアイコンならリクエストが減って速くなりますが、大きな画像は逆に重くなります。
各言語での書き方
| 言語 | エンコード |
|---|---|
| JavaScript(ブラウザ) | btoa(String.fromCharCode(...new TextEncoder().encode(s))) |
| Node.js | Buffer.from(s).toString("base64") |
| Python | base64.b64encode(s.encode()).decode() |
| コマンド | echo -n "text" | base64 |
よくある質問
- Q. Base64とは何ですか?
- 画像などのバイナリデータや日本語を、英数字と + / = の64種類の文字だけで表す変換方式です。メールの添付ファイル、Data URI、Basic 認証、JWT などで使われます。
- Q. Base64は暗号化ですか?
- いいえ。誰でも元に戻せる変換なので、パスワードなどを隠す目的には使えません。
- Q. 日本語をBase64にすると文字化けします
- JavaScript の btoa は日本語をそのまま扱えません。このツールは UTF-8 のバイト列にしてから変換するので、日本語も正しくエンコード・デコードできます。
- Q. URLセーフなBase64とは?
- URL で特別な意味を持つ + と / を - と _ に置き換え、末尾の = を省いた形式です。JWT やURLのパラメータで使われます。