MCPで接続 →

計算を入力してください

公式

広告

結果

2進数(8ビットASCII)
01000001
8 bits • 1 characters
10進数(ASCIIコード) 65
16進数 41

テキスト→2進数 / ASCII変換ツールとは?

このツールは、入力したテキストを2進数表現に変換します。コンピューターは文字を「文字エンコーディング」という仕組みを使って数値として保存しています。基本的な英字・数字・記号の場合、そのエンコーディングがASCIIです。各文字には数値コードが割り当てられており、このツールではそのコードを8ビットの2進数文字列(0と1が8桁)として表示します。さらに10進ASCIIコードと16進数も同時に表示するので、どの基数でも結果を照らし合わせて確認できます。

使い方

入力欄にテキストを入力するか貼り付けて送信するだけです。メインの欄には、1文字につき8ビットのまとまりをスペースで区切った2進数文字列がすべて表示されます。その下の表には、対応する10進ASCIIコードと16進数の値、さらに文字数と合計ビット数が一覧で表示されます。スペースや記号も1文字としてカウントされ、たとえば半角スペースはASCIIコード32です。

計算式の仕組み

各文字cについて、その文字コード(JavaScriptのcharCodeAtが返す値と同じもの)を取得し、その整数を2進数に変換します。そして桁数が8になるように左側を0で埋めます。

$$c \rightarrow \text{pad}_8(\text{bin}(\text{charCode}(c)))$$

たとえば、文字AのASCIIコードは65で、2進数では1000001、8桁に揃えると01000001になります。合計ビット数 = 8 × 文字数 です。

$$\text{bits} = 8 \times n_{chars}$$

1文字が10進ASCIIコードを経て8ビットの2進バイトに変換される様子を示す図
各文字は10進数のASCIIコードに、続いて8ビットの2進バイトに変換されます。

計算例

単語Hiを変換してみましょう。「H」はASCIIコード72 → 2進数01001000 → 16進数48。「i」はASCIIコード105 → 2進数01101001 → 16進数69。したがって「Hi」は2進数で01001000 01101001、10進数で72 105、16進数で48 69となり、2文字で合計\(8 \times 2 = 16\)ビットになります。

Hiという語が2つの2進バイトに分解される実例
「Hi」という語は、1文字につき1つ、8ビットの2進バイト2つになります。

ASCII文字参照表

標準ASCIIは各文字に0~127の数値を割り当てます。このコンバーターでは、各文字の10進数コードを8ビットの2進値(8ビットを埋めるため左ゼロパディング)および2桁の16進数値に変換します。下の表は、よく使用される印字可能文字を示しています。

文字 10進数 8ビット2進数 16進数
(スペース) 32 00100000 20
! 33 00100001 21
0 48 00110000 30
1 49 00110001 31
5 53 00110101 35
9 57 00111001 39
: 58 00111010 3A
? 63 00111111 3F
@ 64 01000000 40
A 65 01000001 41
B 66 01000010 42
M 77 01001101 4D
Z 90 01011010 5A
a 97 01100001 61
b 98 01100010 62
m 109 01101101 6D
z 122 01111010 7A

例えば、大文字Aは10進数コード65を持ち、2進数では1000001で、8ビットにパディングすると01000001になります。「Hi」という単語は1文字として01001000 01101001にエンコードされます。

重要な用語の説明

ビット
デジタルデータの最小単位で、0または1の単一値を保持します(2進数字)。
バイト
8ビットのグループです。1バイトは256個の異なる値を表現できます(\(2^8 = 256\)),これは拡張ASCII文字1文字を保存するのに正確に十分です。
ASCII
アメリカ標準情報交換コード — 128文字(コード0~127)、文字、数字、句読点、制御コードを含めて、数値にマップする文字符号化標準です。
ユニコード
ASCIIをはるかに超えて、ほぼすべての書記体系、記号、絵文字をカバーする普遍的な文字標準です。最初の128個のユニコードコードポイントはASCIIと同一です。
コードポイント
文字セット内の文字に割り当てられた数値です。文字「A」の場合、コードポイントはASCIIとユニコードの両方で65です。
2進数
0と1の数字だけを使用する2進法(基数2)です。各位置は2の累乗(1、2、4、8、…)を表します。
10進数
日常の計算に使用される10進法(基数10)で、数字0~9で、位置は10の累乗を表します。
16進数
数字0~9と文字A~Fを使用する16進法(基数16)です。1つの16進数字は正確に4ビットを表し、2つの16進数字は1バイトを表します。
パディング/左パディング
2進値の前に先頭ゼロを追加して、すべての文字が均一な幅を占めるようにします。ASCIIバイトは8ビットに左パディングされます — 例えば、コード65(2進数1000001)は01000001になります。

2進数、10進数と16進数の変換表

下の表は、同じ値が10進数(基数10)、2進数(基数2)、16進数(基数16)にどのように表示されるかを示しています。2の累乗を増やすたびに2進数字が1つ増えることに注意してください。また、4ビットの2進数がきれいに1つの16進数字にマップされることに注意してください。

10進数 2進数(8ビット) 16進数
0 00000000 00
1 00000001 01
2 00000010 02
3 00000011 03
4 00000100 04
5 00000101 05
6 00000110 06
7 00000111 07
8 00001000 08
9 00001001 09
10 00001010 0A
11 00001011 0B
12 00001100 0C
13 00001101 0D
14 00001110 0E
15 00001111 0F
16 00010000 10
32 00100000 20
64 01000000 40
128 10000000 80
255 11111111 FF

確認として、10進数255は単一バイトが保持できる最大値です。その16進数形式はFFで、2進数形式は8ビットすべてが1に設定されます。同様に、10進数64は2進数1000000に変換され、01000000にパディングされます。

よくある質問

英語以外の文字にも対応していますか? 標準のASCIIはコードポイント0~127をカバーしています。127を超える文字(アクセント付き文字や絵文字、また日本語のひらがな・漢字なども含む)は、そのUnicodeコードポイントが使われるため、8ビットを超えることがあり、標準ASCIIには収まりません。

なぜ1文字あたり8ビットなのですか? 1バイトは8ビットで、ASCIIは伝統的に1バイトに収まります。そのため8ビット単位でまとめるのが一般的な表現方法となっています。

2進数からテキストに戻せますか? このツールはテキストを2進数に変換するためのものです。逆変換する場合は、2進数を8ビットごとに区切り、各値を対応するASCII文字に戻してください。

最終更新: