it-box

텍스트 ↔ ASCII 2진수 변환기

텍스트와 ASCII 2진수 표현을 서로 변환합니다.

텍스트 ↔ ASCII 2진수 변환기 도구 열기

텍스트를 글자마다 8비트 2진수로 바꾸고, 반대로 2진수 문자열을 텍스트로 되돌립니다.

사용 순서

  1. 위쪽 입력 칸에 텍스트를 넣으면 글자마다 8비트 2진수가 공백으로 구분되어 나옵니다.
  2. 아래 입력 칸에 2진수를 넣으면 텍스트가 복원됩니다.
  3. 0과 1 이외의 문자는 무시되므로 공백이나 줄바꿈이 섞여 있어도 됩니다.
  4. 비트 수가 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 같은 해시 값을 따로 비교해야 합니다.