Base64の仕組みについて
こんにちは、tangoです。
今回は、メールの送受信時やBasic認証でも利用されているBase64の仕組みについて学習した内容をまとめました。
Base64とは
64種類(A~Z、a~z、1~9、+、/)の文字が記載されている変換表と「=」を用いてデータを変換する方式
![](https://assets.st-note.com/img/1689884146600-ZybHsqwsUq.png?width=1200)
Base64の仕組み
◇エンコード
1.データを2進数に変換。
2-1.1で変換した2進数を6bitごとに分割。
2-2.分割できない場合、末尾に「0」を追加。
3.Base64の変換表を用いて、2-1で分割した2進数を文字に変換。
4-1.3で変換した文字を4文字ごとに分割。
4-2.分割できない場合、末尾に「=」を追加。
◇デコード
1.末尾の「=」を削除。
2.Base64の変換表を用いて、文字を2進数 に変換。
3.2で変換した2進数を8bitごとに分割。
4.3で分割した2進数を16進数に変換。
5.4で変換した16進数をデータに変換。
機器情報とソースコード
◇機器
クライアント:ノートPC(Windows10)
◇ソースコード(Python)
GitHub:https://github.com/tango3304/Base64
参照データ:https://tex2e.github.io/rfc-translater/html/rfc4648.html#10--Test-Vectors
検証
◇エンコード & デコード
![](https://assets.st-note.com/img/1689972361535-36w02zc9cY.jpg?width=1200)