Base64 エンコードは 6 ビット(2^6 = 64 文字に相当)のみを使用するため、Base64 という名前です。 この 64 文字は、10 個の数字、26 個の小文字、26 個の大文字、プラス記号(+)、および / です。
Base64 エンコードのプロセスは、2 つのステップで実行されます。 バイトのストリームが、それぞれ連続した 3 バイトで構成されているグループに分割されます。 各グループ(それぞれ 8 ビットで構成する連続した 3 バイト)は、6 ビットの 4 つの数字に変換されます。 2 番目のステップでは、Base64 エンコード テーブルを使用して、数字が ASCII 文字に変換されます。
例:
ステップ 1: 文字列 "$t@"(36、116、64)に対応するビット ストリームは 001001000111010001000000 であり、さらに 6 ビットの値 9、7、17、および 0 に対応します。
36 = 00100100
116 = 01110100
64 = 01000000
001001 = 9
000111 = 7
010001 = 17
000000 = 0
ステップ 2: これらの数字は、Base64 エンコード テーブルを使用して ASCII 文字に変換されます。 この例では、6 ビットの値が ASCII シーケンス "JHRA" に変換されます。
9 => J
7 => H
17 => R
0 => A
注: バイト単位のオリジナル データのサイズが 3 の倍数でない場合、8 ビットのバイトが 1 つか 2 つ余る場合があります。 これを解決するには、値 '0' で足りないバイトを付加して、3 バイトのグループを作成します。
このように人為的に付加された '0' は、エンコード テーブルを使用してエンコードされません。 これらは、65 番目の文字によって表示されます。 Base64 の埋め込み文字は '=' です。
|
Copyright © 2014 CA Technologies.
All rights reserved.
|
|