Base58 編碼 / 解碼
使用 Bitcoin Base58 字母表將 UTF-8 文字進行編碼,或將原始 Base58 解碼為精確的十六進位位元組,並解讀為 UTF-8 的解釋。
隱私權:你的檔案不會離開裝置,所有處理均在瀏覽器本機完成。
使用方式
- 1.選擇 UTF-8 文字轉為 Base58,輸入文字,並執行編碼器;檢查 Base58 結果與原始十六進位位元組。
- 2.複製完全符合大小寫的結果,不要新增空白或標點符號。
- 3.選擇 Base58 轉為位元組與文字,貼上原始 Bitcoin 字母值,並驗證十六進位位元組;僅在為有效 UTF-8 時使用文字解釋。
關於Base58 編碼 / 解碼
Base58 編碼與解碼將 UTF-8 文字轉換為原始 Bitcoin 風格的 Base58,並將有效的 Base58 字串轉換回位元組。編碼器會顯示緊縮的字母表輸出,並與原始位元組以小寫十六進位顯示。解碼器總是顯示恢復的十六進位位元組,並嘗試嚴格的 UTF-8 解釋。所有轉換都在瀏覽器中執行,且不會上傳任何內容。
字母表為 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz。它包含 58 字元,並故意排除零、大寫 O、大寫 I 和小寫 l,因為這些字元視覺上容易混淆。包含被排除字元、空白字元、標點符號或任何不在這個字母表中的符號的輸入將被拒絕,而不是被靜默清理或猜測。字母大小寫保持重要。
編碼將 UTF-8 輸入視為大端序的位元組序列,並反覆將其數值從 256 基數轉換為 58 基數。每個前導零位元組會保留為前導 1 字元。這個規則很重要,因為普通的整數轉換否則會遺失前導零。解碼執行反向基數轉換,並在重要數字前恢復每個前導 1 位元組。
文字介面適合可讀資料,但 Base58 根本上是二進位編碼。解碼後的位元組序列可能不是有效的 UTF-8。在這種情況下,頁面會保留精確的十六進位結果,並清楚說明文字解釋不可用。它不會插入 Unicode 替代字元,因為這樣會隱藏位元組層面的資訊,並讓轉換看起來成功,而實際上並未精確對應。
此工具僅實現原始 Base58 編碼,不包含或驗證 Bitcoin Base58Check 位址與私鑰格式所使用的版本位元組與雙倍 SHA-256 校驗碼。因此,一個語法正確的結果並不能證明 Bitcoin 位址、擴充套件金鑰、WIF 值或其他應用專用物件為有效。在應用語義與校驗碼至關重要時,請使用格式-aware 隨身錢包或經過審查的圖書館。
Base58 是一種可逆編碼,不是加密、雜湊、簽名、壓縮、認證或保密方式。任何人只要有字母表,都可以恢復原始位元組。它在需要使用無視覺歧義字元的 alphanumeric 表示時很有用,但它不會保護 API 金鑰、密碼、種子短語、私鑰、令牌或個人資料。永遠不要將活躍錢包秘密貼到線上工具,即使該工具是本地處理。
此實現限制輸入為 4,096 解碼後的位元組,因為任意基數轉換在長輸入時會呈二次方增長,否則會阻塞瀏覽器。Base58 字串受到比例限制,輸出從來不會靜默截斷,即使使用者介面要求非空輸入,空的程式化向量仍被定義。對於大型二進位載荷,請使用如 Base64 這樣的串流格式,並搭配專為檔案設計的工具。
相容性已針對 Bitcoin 核心官方 base58_encode_decode 資料集中的八個向量進行測試,包括簡單的 ASCII 位元組、較長的短語、任意二進位資料以及帶前導零的情況。獨立的 Bitcoin libbase58 專案確認了原始編碼與 Base58Check 的邊界。這些測試用例鎖定了字母順序、數字轉換與前導零行為,而不是僅依賴於編碼後再解碼的自我一致性。
要使用編碼器,輸入普通文字並複製 Base58 結果。要檢查現有的值,切換至解碼,貼上精確的字串,並比較 UTF-8 解釋與十六進位位元組與預期的應用格式。如果來源將值稱為 Base58Check、Bitcoin 位址或版本金鑰,請記住這頁僅證明原始位元組轉換,並不會驗證周圍的協議。
方法與來源
位元組會透過明確保留前導零位元組作為前導 1 字元,轉換為 base 256 跟 58 字元的 Bitcoin 字母表。解碼後的位元組會使用致命 UTF-8 解釋,並始終顯示小寫十六進位。
常見問題
- 這是 Base58Check 嗎?
- 不是。這是原始 Bitcoin 字母 Base58。它不會新增或驗證版本位元組或校驗和。
- 為何 0、O、I 跟 l 會被拒絕?
- 這些字元故意未出現在 Bitcoin Base58 字母表中,以減少視覺上的混淆。
- 為何解碼時有時只顯示有用的十六進位?
- Base58 用來表示任意位元組。如果這些位元組不是有效 UTF-8,十六進位就是精確無損的表示方式。
相關工具
- Base64 編碼 / 解碼立即在瀏覽器中編碼或解碼 Base64,完整支援 UTF-8 — 表情符號和重音字元都能使用。
- Base32 編碼 / 解碼將 UTF-8 文字編碼為標準 RFC 4648 Base32,或將填充與未填充的 Base32 解碼回嚴格 UTF-8。
- 文字轉為十六進位將文字編碼為精確的 UTF-8 十六進位字串,支援連續、間隔或 0x 預設輸出格式,並明確顯示 Unicode 替換警告。
- UTF-8 編碼/解碼將 Unicode 文字轉換為正確格式的 UTF-8 位元組,或嚴格解碼位元組序列,不進行靜默取代。
- A1Z26 字母數字密碼轉換器把英文字母轉為明確的 A=1 至 Z=26 益智格式,並在不混淆單字邊界的情況下解碼經驗證的數字組。
- AES 線上加密完全在瀏覽器中把文字加密為可攜、具驗證能力的 AES-256-GCM JSON 封裝,或使用密碼解密封裝。
編碼與加密 使用指南
查看全部- Base58 Decode: Command Line vs Browser (英文原文)
- Base58 Decode Cheat Sheet: Alphabet, Hex, and Rules (英文原文)
- Base58 Decode API Alternative: Skip the Remote Call (英文原文)
- Base58 Converter: Encode and Decode the Bitcoin Alphabet (英文原文)
- Base58 Decode: Java Code and Browser Alternatives (英文原文)
- Decode Base58 Strings Back to Readable Data in One Click (英文原文)
- Compare Approaches to Use a ROT47 Encoder Decoder (英文原文)
- Rail Fence Cipher Decoder Alternative for Exact Text (英文原文)
- Convert Punycode to Unicode: Read xn-- Labels (英文原文)
- Check Password Strength in Python Without the Regex Trap (英文原文)
- Translate Morse Code to English: A Practical Workflow (英文原文)
- HTML Escape Cheat Sheet: Reserved Characters (英文原文)
- HMAC-SHA256 Tag Generator: Hex and Base64 Guide (英文原文)
- Hill Cipher Decoder Alternative: Skip the Matrix Math (英文原文)
- Convert Hex Format to Text: A Strict UTF-8 Workflow (英文原文)
- Convert File to Base64 for C# Code: Local Browser Steps (英文原文)
- Calculate CRC32 Checksum and Match the 8 Hex Digits (英文原文)
- BCC Checksum API Alternative: Compute Locally (英文原文)
- Caesar Cipher Decoder API Alternative Without Signup (英文原文)
- Binary to Text Encoding: A UTF-8 Guide (英文原文)