使い方
- 形式を選び、モードでエンコードかデコードを選びます。
- テキスト欄に文字を入力します。結果は入力しながら表示されます。
- 確認を読みます。テキストが正しくないと表示された場合は、示された文字を直してください。正しい場合は、結果をコピーします。
5つの形式
どの形式も、印字できる決まった文字の集まりで、バイナリデータを書き表します。形式によって使う文字の数が異なり、出力が入力よりどれだけ長くなるかも異なります。
- Base32(RFC 4648の第6節)は、AからZと2から7を使います。1文字に5ビットを入れるので、8文字が5バイトを表し、テキストは8の倍数になるよう=で詰められます。
- Base32hex(RFC 4648の第7節)は、0から9とAからVを使います。Base32と違い、データの並び順を保ちます。
- Base58はビットコインの文字集合を使います。似た文字を混同しないように、0、O、I、lを除いています。先頭の0バイトはそれぞれ1になり、詰め物はありません。
- Ascii85は、4バイトを「!」から「u」までの5文字で書きます。データより約4分の1長くなります。4つの0バイトはzと書かれます。
- Z85は、ソースコード向けに作られたAscii85の版です。4バイトを、文字列の中で安全な85文字の文字集合による5文字にします。データは4バイトの倍数でなければなりません。
テキストとバイト
テキストは、そのUTF-8のバイト(RFC 3629)として符号化します。そのため、ğのような字は2バイト、絵文字は4バイトになります。復号はバイトをテキストに戻します。復号したバイトが有効なUTF-8でない場合、たとえばファイルや鍵のときは、代わりに16進数で表示するので、どのバイトも失われません。
復号で受け入れるもの、拒否するもの
RFC 4648の第3.3節は、復号器がその文字集合の外の文字を拒否しなければならないとしています。このページも同じことをするので、Base32は小文字を受け付けません。空白と改行は、コピーと貼り付けから来るので無視します。Base32の詰め物は省略できます。このページは、最後の文字の詰めビットが0でないBase32のテキストも拒否します。これは第3.5節が復号器に認めている扱いです。
計算例:Base32によるfoobar
テキストfoobarは6バイトです。Base32では、MZXW6YTBOIの16文字と、その後に続く6個の=記号で書かれます。これは、RFC 4648の第10節がBASE32("foobar")として示す値です。
次の表は、モードがエンコードのときに、foobarについてこのページが表示する内容です。
| 項目 | foobarの場合 |
|---|---|
| 確認 | Base32で符号化しました。 |
| 結果 | MZXW6YTBOI====== |
| バイト数 | 6 |
| 文字数 | 16 |
よくある質問
Base32は暗号の一種ですか?
いいえ。Base32は、同じバイトを別の文字集合で書き直すだけです。鍵がなくても誰でも復号できるので、何も隠さず、データの保護には使うべきではありません。
Base58が0、O、I、lを除くのはなぜですか?
このページが使うビットコインの文字集合は、多くの書体で似て見える文字を除いています。そのため、手で写した値を読み違えにくくなります。この文字集合はBitcoin Coreのソースコードにあります。
Z85のテキストが拒否されるのはなぜですか?
Z85は一度に4バイトを符号化するので、データは4バイトの倍数でなければなりません。復号するときは、テキストが5文字の倍数で、すべての文字がZ85の文字集合に含まれている必要があります。文字の不足や余分な文字が、よくある原因です。
テキストではなく16進数が表示されるのはなぜですか?
復号したバイトが、有効なUTF-8のテキストではないからです。テキストとして表示すると一部のバイトが失われたり変わったりするため、このページはすべてのバイトを16進数で表示します。
Ascii85はBase85と同じですか?
Ascii85は85進法の一つの版で、「!」から「u」までの文字と「z」の省略形をもちます。Z85は、Ascii85から派生した別の85進法で、ソースコードの中で安全な別の文字集合を使います。
入力したテキストはどこかに送られますか?
送られません。符号化と復号はブラウザの中で行われ、入力した内容は当社のサーバーに送信も保存もされません。
出典
- RFC 4648(英語):The Base16, Base32, and Base64 Data Encodings
- RFC 3629(英語):UTF-8, a transformation format of ISO 10646
- Z85(英語):ZeroMQ RFC 32、Z85の符号化
- Bitcoin Core(英語):src/base58.cpp(Base58の文字集合)
- Wikipedia(英語):Ascii85(Ascii85の符号化)
数値と文章の最終確認日:2026年11月10日火曜日。