「Base64」と「Base58」の違い
スポンサーリンク
予備知識
| 用語 | 意味 |
|---|---|
| エンコード | データを他の形式へ変換すること |
それぞれの用語の意味
| 用語 | 意味 |
|---|---|
| Base64 | エンコード方式のひとつで、すべてのデータを「a~z」「A~Z」「0~9」「+」「/」の64文字と「=」の組み合わせに変換するやり方 |
| Base58 | エンコード方式のひとつで、すべてのデータを「abcdefghijkmnopqrstuvwxyz(lがないよ)」「ABCDEFGHJKLMNPQRSTUVWXYZ(IとOがないよ)」「123456789(0がないよ)」の58文字の組み合わせに変換するやり方 |
似ているところ
どちらもエンコード方式です。
データを別の形式に変換するときに使います。
違うところ
一番大きな違いは、使う文字の数です。
Base64ではデータを
・a~z(26文字)
・A~Z(26文字)
・0~9(10文字)
・+と/(2文字)
の64文字と「=」で表現します。
Base58ではデータを
・a~zからlを除いたやつ(25文字)
・A~ZからIとOを除いたやつ(24文字)
・0~9から0を除いたやつ(9文字)
の58文字で表現します。
イメージは
Base64の58文字版がBase58
です。

「0(数字のゼロ)」と「O(大文字のオー)」は見た目が似ています。
「l(小文字のエル)」と「I(大文字のアイ)」もそっくりです。
Base64から、これらの見た目が似ている文字を「手で書き写したりするときに紛らわしいよね!」ということで除いたのがBase58です。
※「+」「/」「=」が除外されたのはダブルクリックで全選択できない(例えば「SVTnlKjoqp4=」をダブルクリックしても最後の「=」が選択されない)から……という説を見ましたが、ウソかホントかは知りません。
細かく見ていくと、もう少しあれやこれやな違いがありますけどね。
そこら辺の「あれやこれや」が気になる方は他のところで情報を補完してください。






