Base58 編解碼

🔤 Base58 Encode/Decode

Encode and decode Base58 (Bitcoin alphabet) in your browser — compact, human-readable keys without 0/O/l/I confusion.

📐 工作原理與說明
比特幣等場景使用的編碼:剔除易混字元,且不使用填充符。
  • 字母表:58 個字元,從 0-9A-Za-z 中去掉 0、O、I、l 等易混項。
  • 演算法:把位元組串視為大整數,反覆除以 58 取餘映射字元;前導零位元組單獨編碼為 1。
  • Base58Check:版本位元組 + 載荷 + 4 位元組校驗(對載荷做雙 SHA-256 取前 4 位元組)。
  • 注意:無 = 填充,長度不固定;解碼須區分純 Base58 與 Base58Check。

📖 演算法說明

Base58 類似 Base64,但去除了視覺上易混淆的字元(0/O/I/l),常用於比特幣地址。

演算法採用大整數除法對映,不依賴固定塊大小。

📚 深度解析:Base58 編碼 / 解碼

💡 常見使用場景

  • 比特幣地址、IPFS 雜湊等採用 Base58,去掉了易混字元 0/O、I/l。
  • 需要人類可讀又不區分大小寫的短標識時可用它代替 Base64。
編碼 "Hello World"
輸入 `Hello World` → 輸出 `2NEwd2UZ`;Base58 移除了 0、O、I、l 四個易混字元。

❓ 常見問題(FAQ)

Base58 比 Base64 短嗎?
字元集更小(58 vs 64),同等資訊編碼後略長,但避免了視覺歧義。
前導零怎麼處理?
Base58 把位元組串當作一個大整數反覆做除法,這樣前導的 0x00 位元組會丟失。約定是:原文每個前導零位元組編碼成一個字元 '1'(字母表中的第一個字元)。比特幣地址以 1 或 3 開頭,往往就來自版本位元組或前導零。
⚠️ 使用說明與注意事項
📖關於「Base58 編解碼」 ▼

📝工具簡介

Base58 編解碼。專為開發者打造的線上工具,純前端執行,程式碼不離開瀏覽器。