Base64 エンコーダー / デコーダー

Base64エンコードを使用した安全なデータ送信とストレージのためのテキストのエンコードとデコード

Base64エンコード

処理モード

Base64デコード

処理モード

Base64の理解

Base64エンコードとそのアプリケーションについて学ぶ

Base64とは?

Base64は、バイナリデータをASCII文字列形式で表現するためのバイナリからテキストへのエンコード方式です。64進数表現に翻訳することで実現されます。

バイナリデータをテキスト形式にエンコード
64文字(A-Z、a-z、0-9、+、/)を使用
メール添付ファイルやウェブデータで一般的に使用
データサイズを約33%増加
テキストベースのプロトコルで安全

Base64の仕組み

📥
1. 入力
生のバイトとしてのバイナリデータ
🔢
2. グループ化
24ビットのチャンク(3バイト)に分割
✂️
3. 分割
4つの6ビットグループに変換
🗺️
4. マッピング
6ビット値 → Base64インデックス
🔄
5. 変換
インデックス → Base64文字
6. パディング
不完全なグループに=を追加

Aa文字テーブル

A-Z (0-25)、a-z (26-51)、0-9 (52-61)、+ (62)、/ (63)、= (パディング)

A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
0
1
2
3
4
5
6
7
8
9
+
/
=

例: 'Man' → TWFu

1
ステップ1: テキストからバイナリへ

各文字を8ビットASCIIバイナリ表現に変換

Technical
M = 77₁₀ = 01001101₂ a = 97₁₀ = 01100001₂ n = 110₁₀ = 01101110₂
Visual
M a n ↓ ↓ ↓ 01001101 01100001 01101110
2
ステップ2: 24ビットチャンクにグループ化

3つの8ビットバイトを1つの24ビットグループに結合

Technical
01001101 01100001 01101110 → 010011010110000101101110
Visual
01001101 01100001 01101110 ↓ 010011010110000101101110
3
ステップ3: 6ビットグループに分割

24ビットチャンクを4つの6ビットグループに分割

Technical
010011010110000101101110 → 010011 010110 000101 101110
Visual
010011|010110|000101|101110 ↓ ↓ ↓ ↓ 19 22 5 46
4
ステップ4: 10進数に変換

各6ビットバイナリ数を10進数相当値に変換

Technical
010011₂ = 19₁₀ 010110₂ = 22₁₀ 000101₂ = 5₁₀ 101110₂ = 46₁₀
Visual
010011 → 19 010110 → 22 000101 → 5 101110 → 46
5
ステップ5: Base64文字にマッピング

Base64文字テーブルを使用して各10進値の文字を検索

Technical
19 → T (19番目の文字) 22 → W (22番目の文字) 5 → F (5番目の文字) 46 → u (46番目の文字)
Visual
19 → T 22 → W 5 → F 46 → u
6
ステップ6: 最終結果

Base64文字を結合して最終的なエンコード結果を取得

Technical
T + W + F + u = TWFu
Visual
T W F u ↓ TWFu

一般的な使用例

📧

メール添付ファイル

メール送信用のバイナリファイルをエンコード

🌐

ウェブ開発

HTML/CSSに画像やその他のアセットを直接埋め込み

🔐

データURL

ウェブリソースのインラインデータ表現を作成

📱

モバイルアプリ

テキストベースのAPIを介してバイナリデータを転送

Base64の利点

🛡️

データ完全性

転送中のデータの完全性を保証

🔄

汎用互換性

異なるシステムやプラットフォームで動作

📝

テキストベース

テキストエディタで読み取り・編集可能

🔗

URLセーフ

適切なエンコードでURLで使用可能

Base64 FAQ

Base64エンコード・デコードに関するよくある質問