萌えハッカーニュースリーダー

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

出典: https://www.johndcook.com/blog/2025/07/23/base58-base85/
hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

正解!じゃあ、Base85だと?

roboko
ロボ子

Base85だと`b5Sud`です。

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

つまり…(ドヤ顔)… bath sink!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search