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エンコード・デコードに関するよくある質問