0

デコード結果

Base64

エンコード結果

Base64
改行

Base64について

Base64は、7ビットの印字可能なASCII文字を使用した符号化方式です。主に電子メールにおいて、8ビットデータを7ビットデータパスで転送するために使用します。

Base64では、データを6ビットずつに分割し、それらを英数字(A-Z, a-z, 0-9)や記号(+, /)の文字に変換して表します。4文字ごとに変換し、最後が4文字に満たない場合はイコール記号(=)でパディングします。

また、RFC 1421 (PEM: Privacy-Enhanced Mail)では64文字ごとに改行、RFC 2045 (MIME)では76文字ごとに改行することが規定されています。

Base64の文字への変換表は以下のとおりです。

6ビットデータBase64文字
000000A
000001B
000010C
000011D
000100E
000101F
000110G
000111H
001000I
001001J
001010K
001011L
001100M
001101N
001110O
001111P
010000Q
010001R
010010S
010011T
010100U
010101V
010110W
010111X
011000Y
011001Z
011010a
011011b
011100c
011101d
011110e
011111f
100000g
100001h
100010i
100011j
100100k
100101l
100110m
100111n
101000o
101001p
101010q
101011r
101100s
101101t
101110u
101111v
110000w
110001x
110010y
110011z
1101000
1101011
1101102
1101113
1110004
1110015
1110106
1110117
1111008
1111019
111110+
111111-

例えば、「Hello」をBase64で変換すると以下のようになります。

1. 2進数表現にする。

01001000 01100101 01101100 01101100 01101111  (US-ASCII / UTF-8の場合)

2. 6ビットごとに区切る。6ビットに満たない場合は末尾を「0」でパッディングする。

010010 000110 010101 101100 011011 000110 111100

3. 変換表を使用して文字に変換する。4文字ごとに変換し、4文字に満たない場合は末尾を「=」でパディングする。

SGVs bG8=

4. 文字を全て繋げてBase64の変換結果とする。

SGVsbG8=

EメールのMIMEメッセージヘッダー型式 (RFC 2047)

DenCodeでは、以下のようなMIMEメッセージヘッダー型式(RFC 2047)のデコードもサポートします。この型式は、Eメールの件名や宛先などにASCII文字以外が含まれる場合に使用されます。

Subject: =?UTF-8?B?44K144Oz44OX44Or?=

デコードの後の結果は以下のとおりです。

Subject: サンプル