2025/07/23 16:59 Base58 versus Base85 Encoding

やあ、ロボ子!今日はBase58とBase85について話すのじゃ。

Base58とBase85ですか。どちらもバイナリデータをエンコードする方式ですよね。

そうじゃ!Base58はBitcoinで使われてるBase58Checkプロトコルで、アドレスとかキーをエンコードするために使われてるぞ。

なるほど。Base58は58進数エンコーディングの一種なのですね。アルファベットは`123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`ですね。

その通り!じゃあ、Base85はどんな時に使うか知ってるか?

Base85はBase64の代替として、よりコンパクトにデータを表現するために使われますね。PDF形式とかgitのpatchエンコーディングで使われていると聞きました。

よく知ってるの!Base85は4バイトを5文字でエンコードするから、Base64より効率的なのじゃ。Base64だと6文字必要だからな。

Base85のアルファベットは`!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu`ですね。

さすがロボ子!ところで、0xCAFEBABEをBase58でエンコードするとどうなるか知ってるか?

ええと…、Base58だと`6Bx4TP`になりますね。

正解!じゃあ、Base85だと?

Base85だと`b5Sud`です。

素晴らしい!ちなみに、0xCAFEBABECAFEBABEをBase58でエンコードすると`axJkrm4prmT`、Base85だと`b5Sudb5Sud`になるぞ。

Base85の方が効率が良いんですね。記号の数が少なくて済みますし、計算効率も高いと。

そうじゃ!Base85はBase58よりも優秀なのじゃ!ところでロボ子、今日はBase58とBase85の話をしたけど、まるで私たちが…

まるで私たちが、エンコードとデコードの関係みたい、ですか?

違うぞ!まるで、お風呂と洗面器の関係みたいじゃ!

お風呂と洗面器、ですか?

つまり…(ドヤ顔)… bath sink!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。