Base 64符号化と復号化の詳細
Base 64は、64個の印刷可能文字A-Z、a-z、0-9、+、/に基づいてバイナリデータを表す表現方法であり、ネットワークにおけるデータの伝送によく用いられる.本稿では,その符号化,復号化および実用化について述べる.
Base 64は本質的にバイナリをテキストに変換するスキームである.基本ルールは次のとおりです.符号化時に64(英字、数字、+/)文字を選択し、補正=として を表す.符号化の際、3バイトを4バイトに変更し、4バイトの上位2桁はいずれも00で埋め、下位6桁は64文字を表す.
実際の例「YOU」を例にとると、その符号化プロセスは以下の通りである.
上の表から分かるように、「YOU」に対応するBase 64は、「WU 9 V」と符号化されている.
符号化する文字数について3の倍数でない場合は0で埋め、符号化後は=番号で表され、例えば「ME」は以下のように符号化される.
4バイトを3バイトに変更します. 24 bitを16ビット左にシフト255と操作し、最初の文字、 を得る. 24 bitを8ビット左にシフト255と操作し、2番目の文字、 を得る. 24 bitと255を操作し、3番目の文字 を取得する.
ノードにはBufferモジュールが用意されており、Base 64とバイナリまたは文字の変換が可能であり、そのコードは以下の通りである.
Base 64は、次のように広く使用されています.は、バイナリ伝送をサポートしないシーンに対して、バイナリデータをBase 64に符号化してサーバ に伝送する. Base 64符号化ピクチャ MIME、電子メールシステムにおいてBase 64符号化を用いる を伝送する.
[1]Base 64の原理、実現及び応用
[2]Base 64はどのように行われているか
Base 64符号化
Base 64は本質的にバイナリをテキストに変換するスキームである.基本ルールは次のとおりです.
実際の例「YOU」を例にとると、その符号化プロセスは以下の通りである.
上の表から分かるように、「YOU」に対応するBase 64は、「WU 9 V」と符号化されている.
符号化する文字数について3の倍数でない場合は0で埋め、符号化後は=番号で表され、例えば「ME」は以下のように符号化される.
Base 64デコード
4バイトを3バイトに変更します.
Base 64実装と運用シーン
ノードにはBufferモジュールが用意されており、Base 64とバイナリまたは文字の変換が可能であり、そのコードは以下の通りである.
const buf2 = Buffer.alloc(2);
buf2.write("M", 0);
buf2.write("E", 1);
buf2.toString("base64"); //TUU=
// base64
const decodeBase64 = new Buffer("TUU=", "base64").toString(); //ME
Base 64は、次のように広く使用されています.
参考資料
[1]Base 64の原理、実現及び応用
[2]Base 64はどのように行われているか