2進数/16進数 変換ツール

2進数、16進数、10進数、8進数の相互変換、またはテキストからバイト列への変換を行います。

準備完了。変換する数値またはテキストを入力してください。

すべての変換処理はお使いのブラウザ内で実行されます。数値やテキストがデバイスの外に送信されることはありません。

よくある質問

ここではどのような変換ができますか?

2つのモードがあります。「数値」モードでは、2進数、8進数、10進数、16進数を相互にリンクさせ、いずれか1つのフィールドを編集すると他が即座に更新されます。「テキスト」モードでは、任意のテキストを指定した進数のバイト値に変換したり、そのバイト値からテキストを復元したりできます。

負の数や非常に大きな数値にも対応していますか?

はい、対応しています。負の数はすべての進数で先頭にマイナス記号が維持され、実質的なサイズ制限もありません。丸め処理なしで正確に変換されます。なお、2の補数表現はビット幅を指定しないと一意に決まらないため、固定幅の2の補数表示は用意していません。

入力したデータはどこかに送信されますか?

いいえ、送信されません。すべての計算はお使いのブラウザ内でローカルに実行されるため、入力した内容がアップロードされることはありません。

2進数、8進数、10進数、16進数の相互変換

コンピュータサイエンスやプログラミングにおいて、数値を進数(基数)ごとに書き換える作業は頻繁に発生します。本ツールは、2進数、8進数、10進数、16進数の4つの進数に対応し、いずれか1つのフィールドに入力するだけで、他のすべての進数へ即座に変換を行います。

各進数の特徴と用途は以下の通りです。

  • 2進数: コンピュータの基本となる0と1のみで構成される表現です。
  • 8進数: 3ビットのデータを1桁(0〜7)で簡潔に表現するために用いられます。
  • 10進数: 人間が日常的に使用する、0から9までの数字を用いた表現です。
  • 16進数: 4ビットのデータを1桁(0〜F、出力は英大文字)で表現します。メモリ番地やカラーコード、バイト表現などに広く使われます。

本ツールはBigIntを用いて数値を解析・フォーマットするため、最大4,096文字までの任意精度整数をサポートしており、丸め誤差のない正確な変換が可能です。

数値モードにおける入力規則と変換仕様

「数値」モードでは、以下のルールに従って入力値を処理します。

  • プレフィックスと区切り文字: 入力時には、2進数の 0b、8進数の 0o、16進数の 0x といったプレフィックスを付与した状態でも認識されます。また、可読性を高めるためのアンダースコア(_)やスペース、前後の空白も許容されます。
  • 負の数の扱い: 負の数は、すべての進数において先頭にマイナス記号(-)を維持したまま変換されます。
  • ゼロ埋め(パディング): 変換後の出力において、2進数は8ビット(8桁)単位、8進数は3桁単位、16進数は2桁単位になるよう、必要に応じて先頭が「0」で埋められます。10進数に対してはゼロ埋めは行われません。

入力された値が選択した進数で表現できない文字を含んでいる場合、エラーメッセージ「その進数において有効な数値ではありません。含まれるはずのない数字がないか確認してください。」が表示されます。

テキストとバイト列の相互変換

「テキスト」モードでは、文字列をUTF-8エンコーディングに基づいてバイト値(0〜255)の並びに変換(エンコード)したり、逆にバイト値の並びから元のテキストを復元(デコード)したりできます。

テキストからバイト列への変換

任意のテキストを入力すると、UTF-8でエンコードされた各バイトの値が、指定した進数(2進数、8進数、10進数、16進数)で出力されます。テキスト入力の最大制限は200,000文字です。これを超える入力があった場合は「このツールで処理するには長すぎます。より短い入力でお試しください。」というエラーが表示されます。

バイト列からテキストへの変換

スペースまたはカンマで区切られたバイト値を入力することで、テキストへデコードします。デコードの際は以下の制約があります。

  • 各バイト値は、選択した進数において0〜255の範囲内でなければなりません。この範囲外の数値や、選択した進数で使えない文字が含まれている場合は、「有効なバイトコードではありません。各値は、選択した進数において1バイト(0〜255)の範囲内である必要があります。」と表示されます。
  • 入力されたバイト列がUTF-8として不正なバイトストリームである場合は、「これらのバイト列は有効な UTF-8 ではないため、テキストとして表示できません。」というエラーが発生します。

ブラウザ内でのローカル処理とプライバシー

本ツールにおけるすべての変換処理は、外部のサーバーにデータを送信することなく、完全にお使いのブラウザ内部だけで実行されます。入力した数値やテキストがデバイスの外に送信されることはありません。機密性の高いデータや開発中のコードに含まれるバイト列であっても、ネットワークを介した漏洩を気にすることなく処理できます。

よくある質問

ここではどのような変換ができますか?

2つのモードがあります。「数値」モードでは、2進数、8進数、10進数、16進数を相互にリンクさせ、いずれか1つのフィールドを編集すると他が即座に更新されます。「テキスト」モードでは、任意のテキストを指定した進数のバイト値に変換したり、そのバイト値からテキストを復元したりできます。

負の数や非常に大きな数値にも対応していますか?

はい、対応しています。負の数はすべての進数で先頭にマイナス記号が維持され、実質的なサイズ制限もありません。丸め処理なしで正確に変換されます。なお、2の補数表現はビット幅を指定しないと一意に決まらないため、固定幅の2の補数表示は用意していません。

入力したデータはどこかに送信されますか?

いいえ、送信されません。すべての計算はお使いのブラウザ内でローカルに実行されるため、入力した内容がアップロードされることはありません。