파일 업로드
  1. base64hub
  2. 기타 진법
  3. 텍스트를 2진수로

텍스트 2진수 변환기: 글자를 0과 1로

텍스트를 입력하면 바이트마다 8비트 그룹 하나씩 2진수로 보여 줍니다. Hi는 01001000 01101001이 됩니다. 기본 구분자는 공백이며, 쉼표, 새 줄, 구분자 없음도 클릭 한 번으로 바꿀 수 있습니다.

무료 가입 없음, 제한 없음 로컬 업로드 없음 5가지 구분자 방식, 구분자 없음 포함 업데이트 2026. 10. 27.
입력 0바이트 0 B출력 0

브라우저에서 처리됩니다. 이 페이지는 데이터를 어디로도 보낼 수 없습니다 – 확인 방법

텍스트를 2진수로 변환하는 방법

  1. 입력 · 텍스트에 텍스트를 입력하거나 붙여넣으세요. 2진수는 곧바로 출력 · 2진수에 나타납니다.
  2. 출력 아래의 구분자는 바이트 사이에 들어갈 것을 정합니다. 공백, 없음, , , ,, 새 줄 중 하나입니다.
  3. 입력 아래의 문자 인코딩은 문자를 어떤 바이트로 바꿀지 정합니다. 기본값은 UTF-8이며, 영문 텍스트에서는 ASCII와 같습니다.
  4. 출력 복사 또는 다운로드로 결과를 보관하세요. 되돌리려면 2진수를 텍스트로에 2진수를 붙여넣거나 2진수 → 텍스트 토글을 쓰세요.

단어를 글자 하나씩

Hello를 2진수로 쓰면 01001000 01100101 01101100 01101100 01101111입니다. 각 그룹은 다음에서 나옵니다.

글자10진수2진수
H7201001000
e10101100101
l10801101100
l10801101100
o11101101111

10진수는 문자의 ASCII 코드이고, 2진수는 같은 숫자를 2진법으로 쓴 뒤 8자리로 채운 것입니다. H와 h(01101000)는 왼쪽에서 세 번째 비트만 다릅니다. ASCII의 대문자와 소문자 쌍은 모두 이렇게 되어 있어서, 프로그램은 비트 연산 하나로 대소문자를 바꿀 수 있습니다.

구분자 방식

같은 두 글자 Hi를 구분자 설정마다 쓰면 다음과 같습니다.

구분자출력
공백01001000 01101001
없음0100100001101001
,01001000, 01101001
,01001000,01101001
새 줄한 줄에 한 바이트

공백이 읽고 확인하기 가장 쉽습니다. 끊김 없는 형식은 퍼즐이나 프로토콜 명세의 비트 문자열에 필요하지만, 한 자리만 빠져도 그 뒤가 모두 밀리므로 공백이 있는 사본을 남겨 두세요. 쉼표 형식은 코드나 스프레드시트 셀에 붙여넣기 좋습니다. 다만 실제 소스 코드에는 Base64를 바이트 배열로가 제대로 된 배열 리터럴을 만들어 줍니다.

ASCII 밖의 문자

일반 영문자, 숫자, 문장 부호는 각각 1바이트입니다. 나머지는 UTF-8에서 더 길며, 변환기는 모든 바이트를 씁니다.

텍스트바이트2진수 (UTF-8)
ñ211000011 10110001
中311100100 10111000 10101101
🙂411110000 10011111 10011001 10000010

문자 인코딩을 바꾸면 비트도 함께 바뀝니다. UTF-16LE에서 Hi는 01001000 00000000 01101001 00000000, 즉 글자마다 2바이트이고 두 번째가 0인 바이트입니다. 같은 텍스트인데 다른 사람의 2진수가 내 것과 다르다면 무엇보다 먼저 문자 인코딩을 비교하세요.

텍스트, 2진수, Base64

2진수는 바이트를 가장 있는 그대로 쓰는 방법이자 가장 긴 방법입니다. 바이트마다 8자에 구분자까지 붙습니다. Base64는 같은 바이트를 바이트당 약 1.33자로 쓰며, 그래서 텍스트 형식 안에 파일과 키를 담는 데 쓰입니다. Hi는 Base64로 SGk=이고, 텍스트를 Base64로가 이것을 바로 만들어 줍니다. 8비트 그룹이 Base64가 쓰는 6비트 조각으로 다시 묶이는 모습을 보려면 Base64를 2진수로로 변환하고 Base64의 동작 원리를 읽어 보세요.

코드에서 텍스트를 2진수로

" ".join(f"{b:08b}" for b in "Hi".encode("utf-8"))   # '01001000 01101001'
Array.from(new TextEncoder().encode("Hi"),
  b => b.toString(2).padStart(8, "0")).join(" ");      // '01001000 01101001'

08b 형식과 padStart(8, "0")이 앞자리 0을 채웁니다. 이것이 없으면 H가 1001000으로 나와 그룹이 더 이상 맞지 않습니다. 문자열과 바이트 처리는 Python과 JavaScript 페이지에서 더 다룹니다.

자주 묻는 질문

"hello"를 2진수로 쓰면 어떻게 되나요?

01101000 01100101 01101100 01101100 01101111입니다. 첫 글자를 대문자로 쓴 Hello는 첫 그룹만 01001000으로 바뀝니다.

내 이름을 2진수로 쓰려면 어떻게 하나요?

입력란에 이름을 입력하고 출력을 복사하세요. 영문자 하나는 8자리가 되고, 성과 이름 사이의 공백은 00100000이 됩니다. 한글 이름은 UTF-8에서 글자당 3바이트, 즉 24자리가 됩니다.

문자 하나가 정확히 8자리인 이유는 무엇인가요?

컴퓨터는 텍스트를 바이트로 저장하고, 1바이트는 8비트입니다. 변환기는 모든 바이트 앞을 0으로 채우므로 A(65)는 1000001이 아니라 01000001로 씁니다.

어떤 문자는 16비트나 32비트가 되는 이유는 무엇인가요?

UTF-8에서 1바이트보다 많이 필요하기 때문입니다. ñ는 2바이트, 中은 3바이트, 이모지는 4바이트입니다. UTF-16에서는 일반 영문자도 2바이트입니다.