Multibase
Multibase 是一种自描述编码前缀方案,用单个字符前缀标识后续数据的编码方式(如 B=Base64、f=hex、z=Base58BTC),由 IPFS/Multiformats 提出。
用途
使编码后的字符串自带编码信息,解码方无需额外约定即可识别,避免编码歧义。
机制
前缀字符来自 Multibase 注册表:f=base16、F=base16upper、b=base32、B=base32upper、z=base58btc、m=base64、M=base64upper 等。解码时取首字符查表确定编码,剩余部分按该编码解码。
用例
- IPFS CID(内容标识符)
- libp2p 多地址编码
- W3C DID(去中心化标识符)
- 自描述数据交换
示例
- 输入
0x48656c6c6f输出f48656c6c6fThe f prefix denotes hex
常见错误
- Using an unregistered prefix character
- Consult the Multibase registry and use registered prefixes only
相关词条
Base64
Base64 是一种将任意二进制数据映射到 64 个可打印 ASCII 字符(A-Z、a-z、0-9、+、/)的编码方案,使二进制数据能在仅支持文本的通道中传输。 词汇表
Base32
Base32 将二进制数据映射到 32 个字符的字母表(A-Z 与 2-7),输出全部为大写字母与数字,便于人工朗读与离线输入。 词汇表
Base58
Base58 是一种面向人类的二进制转文本编码,使用 58 个字符(去掉 Base64 中易混淆的 0、O、I、l、+、/),常用于加密货币地址。 词汇表
Base16
Base16 即十六进制编码,将每 4 位映射为一个十六进制字符(0-9、A-F),是 RFC 4648 定义的 Base 系列中最简单的成员。 词汇表