使い方
- 「変換元」で入力のエンコード方式を選びます(例:Base64)。
- 「変換先」で出力したいエンコード方式を選びます(例:Base58)。
- 入力を貼り付けると、変換結果が表示されます。
- 「コピー」をクリックして結果を使うか、「入力と出力を入れ替え」ボタンで逆方向に変換します。
テキストではなくバイト列を変換する理由
Base64、Base58、16進数など、このサイトで扱うエンコード方式はすべてバイト列を表すものです。いったんテキストにデコードし、そのテキストを再びエンコードする方法は、データが本当にテキストである場合にしか使えません。鍵、ハッシュ値、署名、画像、圧縮データには、有効な UTF-8 ではないバイト列が含まれます。テキストデコーダーはそれらを置換文字 U+FFFD に置き換えてしまうため、再エンコードした結果は気付かないうちに誤ったものになります。
この変換ツールは、変換元の文字列を生のバイト列にデコードし、そのバイト列を変換先のエンコード方式で直接書き出します。32 バイトの鍵は正確に 32 バイトのまま保たれ、先頭のゼロバイトも保持され、逆方向に変換すれば同じバイト列に戻ります。変換はすべてブラウザ内で行われます。
よく使われる変換
- Base64 から Base58:API から取得した公開鍵やハッシュ値を、Bitcoin、Solana、IPFS で使われる形式に変換します。16進数の入力には 16進数 → Base58 をご利用ください。
- Base32 から Base64 または16進数:TOTP のシークレットの中身を確認したり、別の形式を必要とするシステムで再利用したりできます。
- 16進数から Base62 または Base58:URL 用にハッシュ値や ID を短くします。64 桁の SHA-256 の16進数文字列は約 43 文字になります。
- Base64 から Base64URL:値を URL、Cookie、JWT のフィールドで安全に使える形にします。
- Ascii85、Base85、Z85 から Base64:PDF のストリーム、Git のバイナリパッチ、ZeroMQ のメッセージから取り出したデータを再利用できます。
同じ 4 バイトを 5 つのエンコード方式で表すと、次のようになります。
| エンコード方式 | 値 |
|---|---|
| 16進数 | deadbeef |
| Base64 | 3q2+7w== |
| Base58 | 6h8cQN |
| Base62 | 44pZgF |
| Base85 | -mSjx |
入力のルールと制限
- Base64 の入力には標準と URL セーフのどちらのアルファベットも使用でき、改行を含めることも、パディングを省略することもできます。
- 16進数の入力にはスペース、コロン、
0xプレフィックスを含めることができ、大文字と小文字のどちらでもかまいません。 - Base58 と Base62 はデータを 1 つの大きな数として扱うため、これらが関わる変換は約 20 KB までに制限されます。
- チェックサムの検証や付加は行いません。Base58Check 文字列を検証または作成するには、Base58Check のページを使ってください。
よくある質問
Base64 を Base58 に変換するにはどうすればよいですか?
「変換元」で Base64、「変換先」で Base58 を選び、文字列を貼り付けます。Base64 がバイト列にデコードされ、そのバイト列が Bitcoin の Base58 アルファベットで書き出されます。このアルファベットは Solana や IPFS でも使われています。
デコードしてから再エンコードするのと同じですか?
データがプレーンテキストの場合に限り同じです。鍵や画像などのバイナリデータでは、テキストにデコードするとバイトが失われます。このツールはテキストを経由しないため、バイト列が正確に保たれます。