デコード結果
エンコード結果
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文字 |
000000 | A |
000001 | B |
000010 | C |
000011 | D |
000100 | E |
000101 | F |
000110 | G |
000111 | H |
001000 | I |
001001 | J |
001010 | K |
001011 | L |
001100 | M |
001101 | N |
001110 | O |
001111 | P |
010000 | Q |
010001 | R |
010010 | S |
010011 | T |
010100 | U |
010101 | V |
010110 | W |
010111 | X |
011000 | Y |
011001 | Z |
011010 | a |
011011 | b |
011100 | c |
011101 | d |
011110 | e |
011111 | f |
100000 | g |
100001 | h |
100010 | i |
100011 | j |
100100 | k |
100101 | l |
100110 | m |
100111 | n |
101000 | o |
101001 | p |
101010 | q |
101011 | r |
101100 | s |
101101 | t |
101110 | u |
101111 | v |
110000 | w |
110001 | x |
110010 | y |
110011 | z |
110100 | 0 |
110101 | 1 |
110110 | 2 |
110111 | 3 |
111000 | 4 |
111001 | 5 |
111010 | 6 |
111011 | 7 |
111100 | 8 |
111101 | 9 |
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: サンプル