텍스트 ↔ ASCII 2진수 변환기
텍스트와 ASCII 2진수 표현을 서로 변환합니다.
텍스트를 글자마다 8비트 2진수로 바꾸고, 반대로 2진수 문자열을 텍스트로 되돌립니다.
사용 순서
- 위쪽 입력 칸에 텍스트를 넣으면 글자마다 8비트 2진수가 공백으로 구분되어 나옵니다.
- 아래 입력 칸에 2진수를 넣으면 텍스트가 복원됩니다.
- 0과 1 이외의 문자는 무시되므로 공백이나 줄바꿈이 섞여 있어도 됩니다.
- 비트 수가 8의 배수가 아니면 검증 문구가 나오므로 입력 길이를 확인합니다.
예시
Hi는 01001000 01101001로 바뀌고, 이 값을 아래 칸에 넣으면 Hi가 복원됩니다.
한계
글자의 charCode를 8비트로 자르지 않고 그대로 2진수로 바꿉니다. 그래서 ASCII 범위(0부터 127)를 넘는 글자는 8비트보다 긴 값이 됩니다. 예를 들어 가는 1010110000000000(16비트)이 되고, 이를 복원하면 엉뚱한 문자 두 개가 나옵니다. 한글이나 이모지를 옮길 때는 UTF-8 바이트 단위로 바꾸는 도구를 쓰세요.
보안 주의
2진수 문자열은 암호문처럼 보이지만 누구나 되돌릴 수 있는 표기입니다. 비밀 값을 2진수로 바꿔 두면 보호된 것으로 착각하기 쉬우니 주의하세요.
배경 지식
ASCII는 영문자, 숫자, 기호를 0부터 127까지의 번호로 정한 문자 집합입니다. 실무에서는 한 글자를 8비트 한 바이트에 담아 00000000부터 01111111까지로 씁니다. 대문자 A는 65이므로 01000001이 됩니다. 소문자 a는 97이라 01100001이 되며, 두 값의 차이는 세 번째 자리에서 드러납니다.
2진수 표기는 비트 단위 점검에 유용합니다. 통신 프로토콜이나 임베디드 장치의 로그에서 바이트 값을 직접 읽을 때 중간 표현으로 쓰입니다. 8비트 단위로 끊어 보면 글자 경계가 바로 보입니다. 손으로 2진수를 읽을 때도 8자리마다 공백을 넣으면 실수가 크게 줄어듭니다.
문자열을 바이트로 바꾸는 방식은 문자 집합에 따라 달라집니다. UTF-8에서는 ASCII 글자 하나가 한 바이트지만 한글은 세 바이트, 이모지는 네 바이트가 됩니다. 이 도구는 자바스크립트의 UTF-16 코드 값을 그대로 쓰기 때문에 바이트 기준 결과와 다릅니다. 한글이나 이모지가 섞인 텍스트를 옮길 때는 이 차이 때문에 결과 길이가 예상보다 길게 나옵니다.
자주 묻는 질문
2진수 덩어리가 8자리가 아니면 어떻게 되나요?
8의 배수가 아니면 입력이 거부되고 검증 문구가 나옵니다. 원래 값에서 앞쪽의 0이 빠진 경우가 많으니, 각 덩어리를 8자리로 맞춰 다시 입력하세요.
공백 대신 줄바꿈으로 2진수를 나눠도 되나요?
됩니다. 복원할 때 0과 1 이외의 문자를 모두 지우므로 공백, 줄바꿈, 쉼표가 섞여 있어도 같은 결과가 나옵니다.
2진수로 바꾼 값을 체크섬 대신 쓸 수 있나요?
쓸 수 없습니다. 이 표기는 값을 그대로 옮긴 것이라 변조를 감지하지 못합니다. 무결성을 확인하려면 SHA-256 같은 해시 값을 따로 비교해야 합니다.