~ / developer / text-to-binary-converter

🔢 텍스트 ↔ 2진수 변환기

글자를 2진수·16진수·10진수·8진수로 바꾸고, 숫자열을 다시 글자로 되돌려요. UTF-8 바이트 수도 함께 보여 줘요.

input
result
결과
-
광고

사용법

  1. 방향을 고르세요. "글자 → 숫자"는 입력한 글자를 숫자열로, "숫자 → 글자"는 숫자열을 글자로 바꿔요.
  2. 진수를 고르세요. 2진수(0과 1), 16진수(0~9와 A~F), 10진수, 8진수를 지원해요. 옆의 버튼으로 예시 글자를 바로 넣어 볼 수 있어요.
  3. 글자 → 숫자에서는 숫자 사이에 넣을 구분(공백·쉼표·붙여 쓰기)과 16진수 앞에 0x를 붙일지 정해요. 결과를 누르면 복사돼요.
  4. 숫자 → 글자에서는 공백이나 쉼표로 나눠 넣어도 되고, 구분 없이 붙여 써도 돼요. 2진수는 8자리, 16진수는 2자리, 8진수는 3자리씩 끊어 읽어요.

글자가 0과 1이 되는 원리

컴퓨터는 글자를 그대로 저장하지 못하고, 글자마다 번호를 붙인 뒤 그 번호를 2진수로 저장해요. 영어 알파벳 대문자 A는 65번이고, 65를 2진수로 쓰면 1000001, 8자리로 맞추면 01000001이에요. 이 번호표가 ASCII(미국정보교환표준부호)이고, 영어·숫자·기본 기호 128개를 0~127번으로 정해 두었어요. 전 세계 글자를 한 표에 담은 것이 유니코드이고, 유니코드 번호(코드 포인트)를 실제 저장할 바이트 열로 바꾸는 방식 가운데 가장 널리 쓰는 것이 UTF-8이에요. 웹 페이지의 대부분이 UTF-8이고, 이 도구도 UTF-8 기준으로 바꿔요.

UTF-8의 규칙은 간단해요. 코드 포인트가 0~127이면 ASCII와 똑같이 1바이트, 128~2047이면 2바이트, 2048~65535(한글 음절 포함)면 3바이트, 그 위(이모지 대부분)는 4바이트로 저장해요. 그래서 영어 한 글자는 8비트인데 한글 한 글자는 24비트(3바이트)예요. 한 글자에 해당하는 바이트 수는 아래 표에서 볼 수 있어요.

글자유니코드바이트2진수(UTF-8)16진수10진수
AU+00411010000014165
aU+00611011000016197
0U+00301001100003048
U+00201001000002032
éU+00E9211000011 10101001C3 A9195 169
한U+D55C311101101 10010101 10011100ED 95 9C237 149 156
글U+AE00311101010 10111000 10000000EA B8 80234 184 128
€U+20AC311100010 10000010 10101100E2 82 AC226 130 172
😀U+1F600411110000 10011111 10011000 10000000F0 9F 98 80240 159 152 128

한글 "한"의 유니코드는 U+D55C이고, UTF-8로는 ED 95 9C 세 바이트가 돼요. 2진수로 풀면 11101101 10010101 10011100이에요. 3바이트 글자의 틀은 1110xxxx 10xxxxxx 10xxxxxx이고, 코드 포인트 D55C를 2진수로 쓴 1101 010101 011100의 16비트를 x 자리에 차례로 채우면 위의 값이 나와요. 맨 앞 비트가 1110이면 "이 글자는 3바이트짜리", 뒤따르는 바이트는 모두 10으로 시작한다는 약속이라, 중간부터 읽어도 글자 경계를 찾을 수 있어요.

ASCII 코드 몇 가지 외워 두기

예시로 직접 계산해 보기

입력2진수16진수
SOS01010011 01001111 0101001153 4F 53
Hi01001000 0110100148 69
Hello01001000 01100101 01101100 01101100 0110111148 65 6C 6C 6F
한11101101 10010101 10011100ED 95 9C

"Hi"를 손으로 풀어 보면, H는 72번이라 64 + 8 = 01001000이고 i는 105번이라 64 + 32 + 8 + 1 = 01101001이에요. 2진수 8자리의 자리값은 왼쪽부터 128, 64, 32, 16, 8, 4, 2, 1이라, 1이 있는 자리의 값을 더하면 10진수가 돼요.

어디에 쓰나요

자주 생기는 오류

변환은 모두 브라우저 안에서 일어나고 입력한 글자는 서버로 보내지 않아요. 유니코드와 UTF-8 정의는 유니코드 컨소시엄과 RFC 3629(UTF-8)에서 확인할 수 있어요. 진수 변환 자체가 필요하면 진수 변환기를, 유니코드 이스케이프 표기가 필요하면 유니코드 변환기를 쓰세요.

자주 묻는 질문

A를 이진수로 쓰면 뭔가요?
A(대문자)는 ASCII 65번이라 8자리 이진수로 01000001이에요. 소문자 a는 97번이라 01100001이에요.
이름을 이진수로 바꾸면 한글은 몇 비트인가요?
UTF-8에서 한글 한 글자는 3바이트, 즉 24비트예요. "한"은 11101101 10010101 10011100이에요. 영어 한 글자는 8비트고요.
이진수를 글자로 되돌릴 때 공백이 꼭 있어야 하나요?
아니에요. 8자리씩 붙여 써도 읽어요. 다만 전체 자리 수가 8의 배수여야 해요. 자리가 모자라면 앞에 0을 채우세요.
ASCII와 UTF-8은 뭐가 다른가요?
ASCII는 영어·숫자·기호 128개를 정한 표이고, UTF-8은 유니코드 글자를 1~4바이트로 저장하는 방식이에요. 0~127번 글자는 UTF-8과 ASCII의 바이트가 똑같아서 영어 문서는 둘이 구분되지 않아요.
이모지도 바꿀 수 있나요?
네. 대부분의 이모지는 UTF-8 4바이트예요. 예를 들어 😀(U+1F600)은 F0 9F 98 80이에요.
0x가 붙은 16진수도 읽나요?
네. 숫자 → 글자에서 16진수를 고르면 0xED 0x95 0x9C처럼 접두어가 붙어 있어도 읽어요.

관련 도구

더 둘러보기

💻 개발자 다른 도구

🔥 많이 찾는 도구

🔮 재미로 한 번 더

📝 읽어 볼 만한 글

글 전체 보기 →