2진수 텍스트 변환기란?
2진수 텍스트 변환기는 0과 1로 이루어진 2진수 코드를, 사람이 읽을 수 있는 원래 문자로 되돌려 해독하는 도구입니다. 컴퓨터는 모든 문자, 숫자, 기호를 ASCII 같은 문자 인코딩 방식에 따라 2진수로 저장합니다. 이 도구는 그 과정을 거꾸로 돌립니다. 입력한 2진수를 읽어 8비트(1바이트) 단위로 나눈 뒤, 각 바이트를 해당하는 문자로 변환해 줍니다.
사용 방법
변환할 2진수를 입력란에 붙여넣으세요. 각 8비트 그룹은 띄어쓰기나 줄바꿈으로 구분합니다. 예를 들어 01001000 01101001 처럼 입력하면 됩니다. 0과 1이 아닌 문자는 자동으로 무시되므로, 중간에 들어간 구두점 때문에 오류가 나지는 않습니다. '계산하기' 버튼을 누르면 해독된 텍스트와 변환된 문자 수를 확인할 수 있습니다.
변환 원리
8자리 2진수 한 묶음이 1바이트입니다. 이 바이트는 2진법 숫자로 해석되는데, 맨 오른쪽 비트부터 차례로 1, 2, 4, 8, 16, 32, 64, 128의 값을 가집니다. 1로 켜진 비트의 값을 모두 더하면 0부터 255 사이의 값이 나옵니다. 이 값이 곧 문자 코드이며, ASCII/유니코드 표를 통해 출력 가능한 문자로 대응됩니다. 이렇게 변환된 문자들을 순서대로 이어 붙이면 원래의 메시지가 복원됩니다.
$$\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)}$$
예제로 살펴보기
01001000 을 예로 들어보겠습니다. 켜진 비트의 값을 더하면 \(64 + 8 = 72\) 입니다. 문자 코드 72는 알파벳 "H"에 해당합니다. 다음 묶음인 01101001 은 \(64 + 32 + 8 + 1 = 105\) 이고, 이는 "i"입니다. 두 문자를 이어 붙이면 결과는 "Hi"가 됩니다.
ASCII 이진 참고표
각 인쇄 가능 문자는 ASCII 표준의 십진수 코드 포인트에 매핑되며, 이는 8비트 이진 그룹(1바이트)으로 저장됩니다. 이진수를 다시 텍스트로 디코딩하려면 이진 문자열을 8비트 그룹으로 나누고, 각 그룹을 십진값으로 변환한 후 일치하는 문자를 찾으면 됩니다. 예를 들어, 바이트 01000001은 십진수 65와 같으며, 이는 문자 A입니다.
대문자(A–Z)
| 문자 | 십진수 | 이진수 |
|---|---|---|
| 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)
| 문자 | 십진수 | 이진수 |
|---|---|---|
| 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)
| 문자 | 십진수 | 이진수 |
|---|---|---|
| 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 |
공백 및 일반 구두점
| 문자 | 이름 | 십진수 | 이진수 |
|---|---|---|---|
| (공백) | 공백 | 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은 십진수 쌍 72와 105로 디코딩되어 텍스트 Hi를 만듭니다. 반대 방향으로 가려면 텍스트를 이진수로 변환기가 Hi를 다시 01001000 01101001으로 변환합니다.
주요 용어 설명
- 비트
- 0 또는 1의 단일 이진 값을 보유하는 디지털 정보의 최소 단위입니다. "비트"는 "이진 숫자"의 축약입니다.
- 바이트
- 한 단위로 처리되는 8비트 그룹입니다. 1바이트는 \(2^8 = 256\)개의 서로 다른 값(0–255)을 나타낼 수 있으며, 이는 확장 ASCII 집합의 모든 문자를 인코딩하기에 정확히 충분합니다. 이것이 이진 텍스트가 8비트 청크로 분할되는 이유입니다.
- 이진수 / 2진법
-
0과 1의 두 가지 기호만 사용하는 수 체계입니다. 각 자리는 2의 거듭제곱을 나타내며, 오른쪽에서 왼쪽으로 읽으면 자릿값은 \(1, 2, 4, 8, 16, 32, 64, 128\)입니다. 예를 들어,
01000001= 64 + 1 = 65입니다. - ASCII
- 미국 정보 교환 표준 코드로, 정수 0–127을 문자, 숫자, 구두점 및 제어 코드에 매핑하는 문자 인코딩입니다. 표준 ASCII는 7비트를 사용하며, 8번째 맨 앞 비트(보통 0)가 전체 바이트로 패딩됩니다.
- 코드 포인트
-
문자 인코딩 체계에서 단일 문자에 할당되는 숫자 값입니다. ASCII에서 문자
A의 코드 포인트는 65입니다. 같은 문자는 유니코드 코드 포인트 U+0041(역시 65)을 가집니다. - 문자 인코딩
- 문자를 숫자 코드 포인트에 매핑한 다음 저장 또는 전송을 위해 바이트로 매핑하는 규칙 집합입니다. ASCII, Latin-1 및 UTF-8은 모두 인코딩이며, 올바른 인코딩을 선택하면 바이트가 의도한 텍스트로 다시 디코딩됩니다.
- 유니코드
- 세계 모든 문자 체계의 모든 문자에 고유한 코드 포인트를 할당하는 범용 문자 표준으로, ASCII의 128자를 훨씬 초과합니다. 처음 128개 코드 포인트는 ASCII와 동일하므로 기본 영어 텍스트는 둘 다에서 동일하게 디코딩됩니다.
- UTF-8
- 웹에서 유니코드의 가장 일반적인 인코딩입니다. ASCII 문자를 단일 바이트로 나타내며(ASCII와 정확히 일치) 더 높은 코드 포인트에 대해 2–4바이트를 사용하여 일반 영어 텍스트를 완전히 하위 호환성 있게 유지합니다.
자주 묻는 질문
왜 2진수를 8비트 단위로 묶어야 하나요? 표준 ASCII는 문자 하나당 8비트(1바이트)를 사용합니다. 이 도구는 입력값을 8비트 단위로 잘라내므로, 각 바이트가 정확히 한 문자로 대응됩니다.
8비트로 딱 떨어지지 않으면 어떻게 되나요? 변환기는 입력된 숫자를 왼쪽부터 오른쪽으로 8비트씩 잘라 처리합니다. 정확한 결과를 얻으려면 각 문자의 바이트를 빠짐없이 8자리로 맞춰 입력하세요.
확장 문자도 지원하나요? 0~127 값은 표준 ASCII이고, 128~255 값은 확장 문자에 대응됩니다. 이 경우 바이트 값이 그대로 유니코드 코드 포인트로 사용됩니다.