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のmultiaddrエンコーディング
- W3CのDID(分散型識別子)
- 自己記述的なデータ交換(self-describing)
例
- 入力
0x48656c6c6fOutputf48656c6c6fThe 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 文字を使う人間向けのバイナリテキスト変換であり、紛らわしい 0、O、I、l、+、/ を Base64 から除外している。暗号通貨アドレスで最もよく知られる。 用語集
Base16
Base16 は十六進エンコーディングであり、4 ビットごとに 1 文字の十六進文字(0-9、A-F)へ写像する。RFC 4648 で定義される Base 系の最も単純な一員である。 用語集
関連ツール
Base64 エンコーダー
Encode text or binary data to Base64 online。無料、プライベート、100%クライアントサイド。 ツール
HEX エンコーダー
Encode text to hexadecimal online。無料、プライベート、100%クライアントサイド。 ツール
Multibase エンコーダー
Multibase Encode — 純クライアントサイドツール。プライバシーファースト、サーバー往復なし。 ツール
Multibase デコーダー
Multibase Decode — 純クライアントサイドツール。プライバシーファースト、サーバー往復なし。 ツール