MCPで接続 →

計算を入力してください

例:01001000 01101001

公式

広告

結果

デコードされたテキスト
Hi
ASCII/Unicode文字
変換された文字数 2

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

2進数→テキスト変換ツールは、0と1で並んだ2進数の列を、それが表す人間に読める文字へとデコードするツールです。コンピュータは、文字・数字・記号のすべてを、ASCIIなどの文字エンコードを使って2進数として保存しています。このツールはその流れを逆にたどります。入力された2進数を読み込み、8ビットのバイトに区切り、各バイトを対応する文字へ変換します。

使い方

2進数を入力欄に貼り付けてください。8ビットのまとまりごとに、半角スペースか改行で区切ります。例えば 01001000 01101001 のように入力します。本ツールは0と1以外の文字を無視するため、余計な記号が混ざっても問題なく動作します。「計算」を押すと、デコードされたテキストと変換された文字数が表示されます。

計算のしくみ

8桁の2進数のまとまりが1バイトです。このバイトは2進数(基数2)として解釈されます。一番右のビットの重みは1、その左から順に2、4、8、16、32、64、128となります。値が1になっているビットの重みを合計すると、0〜255の数値が得られます。この数値が文字コードであり、ASCII/Unicodeの対応表を通して表示可能な文字に変換されます。最後に各文字を順番につなぎ合わせて、元のメッセージが復元されます。

$$\text{Char} = \text{Chr}\!\left( \sum_{k=0}^{7} b_{7-k} \cdot 2^{\,k} \right), \qquad b_k \in \text{Binary (8-bit groups)}$$

桁の値が10進コードポイントとASCII文字に変換される8ビットのバイナリ列
各8ビットのまとまりを桁の値として読み取り、合計して10進コードにし、対応するASCII文字へ変換します。

計算例

01001000 を例に見てみましょう。1になっているビットの重みを足すと \(64 + 8 = 72\) です。文字コード72は「H」を表します。次のまとまり 01101001 は \(64 + 32 + 8 + 1 = 105\) となり、これは「i」です。つなぎ合わせると、結果は「Hi」になります。

3つの8ビットバイナリ列がH、i、感嘆符にデコードされる様子
バイナリ列を8ビットごとに分割すると「Hi!」という単語にデコードされます。

ASCII バイナリ リファレンス テーブル

各印字可能文字は ASCII 標準の10進コード ポイントにマッピングされ、8 ビット バイナリ グループ(1 バイト)として保存されます。バイナリをテキストにデコードするには、バイナリ文字列を 8 ビットのグループに分割し、各グループを10進値に変換して、対応する文字を検索します。たとえば、バイト 01000001 は10進数の 65 に等しく、これは文字 A です。

大文字(A~Z)

文字 10進数 バイナリ
A 65 01000001
B 66 01000010
C 67 01000011
D 68 01000100
E 69 01000101
F 70 01000110
G 71 01000111
H 72 01001000
I 73 01001001
J 74 01001010
K 75 01001011
L 76 01001100
M 77 01001101
N 78 01001110
O 79 01001111
P 80 01010000
Q 81 01010001
R 82 01010010
S 83 01010011
T 84 01010100
U 85 01010101
V 86 01010110
W 87 01010111
X 88 01011000
Y 89 01011001
Z 90 01011010

小文字(a~z)

文字 10進数 バイナリ
a 97 01100001
b 98 01100010
c 99 01100011
d 100 01100100
e 101 01100101
f 102 01100110
g 103 01100111
h 104 01101000
i 105 01101001
j 106 01101010
k 107 01101011
l 108 01101100
m 109 01101101
n 110 01101110
o 111 01101111
p 112 01110000
q 113 01110001
r 114 01110010
s 115 01110011
t 116 01110100
u 117 01110101
v 118 01110110
w 119 01110111
x 120 01111000
y 121 01111001
z 122 01111010

数字(0~9)

文字 10進数 バイナリ
0 48 00110000
1 49 00110001
2 50 00110010
3 51 00110011
4 52 00110100
5 53 00110101
6 54 00110110
7 55 00110111
8 56 00111000
9 57 00111001

スペース・一般的な句読点

文字 名前 10進数 バイナリ
(スペース) スペース 32 00100000
! 感嘆符 33 00100001
" ダブルクォート 34 00100010
# ハッシュ 35 00100011
$ ドル記号 36 00100100
% パーセント 37 00100101
& アンパサンド 38 00100110
' アポストロフィ 39 00100111
左括弧 40 00101000
右括弧 41 00101001
* アスタリスク 42 00101010
+ プラス 43 00101011
, カンマ 44 00101100
- ハイフン 45 00101101
. ピリオド 46 00101110
/ スラッシュ 47 00101111
: コロン 58 00111010
; セミコロン 59 00111011
? 疑問符 63 00111111
@ アットマーク 64 01000000

より長い例として、バイナリ 01001000 01101001 は10進数のペア 72 と 105 にデコードされ、テキスト Hi になります。反対方向に進むには、Text to Binary コンバーターが Hi01001000 01101001 に変換します。

主要用語の説明

ビット
デジタル情報の最小単位で、0 または 1 のいずれかのバイナリ値を保持します。この言葉は「バイナリ デジット」の短縮形です。
バイト
8 ビットのグループで 1 つの単位として処理されます。1 バイトは \(2^8 = 256\) の異なる値(0~255)を表すことができ、これはちょうど拡張 ASCII セット内のすべての文字をエンコードするのに十分です。これが、バイナリ テキストが 8 ビットのチャンクに分割される理由です。
バイナリ / 2 進法
0 と 1 の 2 つの記号のみを使用する数値体系です。各位置は 2 の累乗を表します。右から左に読むと、位の値は \(1, 2, 4, 8, 16, 32, 64, 128\) です。たとえば、01000001 = 64 + 1 = 65 です。
ASCII
アメリカン スタンダード コード フォー インフォメーション インターチェンジで、整数 0~127 を文字、数字、句読点、および制御コードにマッピングする文字エンコーディングです。標準 ASCII は 7 ビットを使用し、8 番目の先頭ビット(通常は 0)をパディングして完全なバイトにします。
コード ポイント
エンコーディング スキーム内の単一文字に割り当てられた数値です。ASCII では文字 A はコード ポイント 65 を持ちます。同じ文字は Unicode コード ポイント U+0041(同じく 65)を持ちます。
文字エンコーディング
文字を数値コード ポイントにマッピングし、その後バイトにしてストレージまたは送信するための一連のルールです。ASCII、Latin-1、UTF-8 はすべてエンコーディングで、正しいものを選択することでバイトが意図したテキストに確実にデコードされます。
Unicode
世界の文字体系全体のすべての文字に一意のコード ポイントを割り当てる普遍的な文字標準で、ASCII の 128 文字をはるかに超えています。最初の 128 コード ポイントは ASCII と同じなので、基本的な英語テキストは両方で同じようにデコードされます。
UTF-8
ウェブ上で最も一般的な Unicode のエンコーディングです。ASCII 文字を単一のバイト(ASCII と正確に一致)で表し、より高いコード ポイントに 2~4 バイトを使用して、プレーンな英語テキストを完全に下位互換性を保つようにします。

よくある質問

なぜ8ビット区切りにする必要があるの? 標準的なASCIIは1文字あたり8ビット(1バイト)を使います。本ツールは入力を8ビットごとに区切るため、各バイトが1文字にきれいに対応します。

区切りがちょうど8ビットでない場合は? 本ツールは見つけた数字を左から順に8ビットずつ処理します。正しい結果を得るには、各文字のバイトを必ず8桁にそろえてください。

拡張文字には対応していますか? 0〜127は標準ASCIIです。128〜255は拡張文字に対応しており、バイト値はそのままUnicodeのコードポイントとして使われます。

最終更新: