텍스트 ↔ 바이너리 변환기

텍스트를 입력하면 2진수·10진수·16진수·유니코드로 동시에 변환하고, 반대로 디코딩도 할 수 있어요.

유니코드 코드포인트 기준으로 변환합니다. 한글·이모지도 정확히 처리해요.
UTF-8 바이트 모드는 한글(3바이트)·이모지(4바이트)를 실제 저장 바이트로 분해합니다. 비트 폭 8 권장.
값은 공백 또는 줄바꿈으로 구분하세요. 16진수는 U+ 접두어가 있어도 됩니다.

텍스트 바이너리 변환기란?

컴퓨터는 모든 문자를 숫자로 저장합니다. 각 글자에는 유니코드 코드포인트라는 고유 번호가 매겨져 있고, 이 번호를 2진수·16진수 등으로 표현하면 컴퓨터가 다루는 형태가 됩니다. 이 도구는 입력한 텍스트의 각 글자를 2진수, 10진 코드포인트, 16진수, 유니코드(U+XXXX) 네 가지 형식으로 동시에 보여주며, 반대로 이 값들을 다시 사람이 읽는 텍스트로 디코딩할 수도 있습니다.

사용법

  • 위쪽 입력칸에 텍스트를 입력하면 즉시 네 가지 형식의 결과가 함께 표시됩니다.
  • 2진수 비트 폭을 8비트(아스키 기준) 또는 16비트로 고를 수 있으며, 코드포인트가 폭을 넘으면 자동으로 확장됩니다.
  • 각 줄의 복사 버튼으로 원하는 형식만 클립보드에 담을 수 있습니다.
  • 아래쪽 디코딩 입력칸에 2진수·16진수·10진수 값을 붙여넣고 형식을 선택하면 원래 텍스트로 복원됩니다.

유니코드 코드포인트 기준

이 변환기는 글자를 코드 단위가 아닌 코드포인트 단위로 처리합니다. 😀 같은 이모지나 일부 특수문자는 내부적으로 두 개의 코드 단위(서로게이트 쌍)로 저장되는데, 이 도구는 Array.from을 사용해 사람이 보는 한 글자를 하나의 코드포인트로 정확히 분리합니다. 덕분에 한글, 한자, 이모지가 깨지지 않고 변환됩니다.

코드포인트 모드와 UTF-8 바이트 모드

변환 단위를 두 가지 중에서 고를 수 있고, 무엇을 고르느냐에 따라 결과가 크게 달라집니다.

  • 유니코드 코드포인트 — 글자 하나에 번호 하나를 대응시킵니다. A는 65, 한글 는 44032(U+AC00)입니다. 문자마다 붙은 고유 번호를 확인할 때 씁니다.
  • UTF-8 바이트 — 실제로 파일이나 네트워크에 저장되는 바이트로 분해합니다. 영문은 1바이트, 한글은 3바이트(는 EA B0 80), 이모지는 대개 4바이트입니다. 저장 용량이나 전송 크기를 따질 때 이 모드를 씁니다.

UTF-8 바이트 모드에서는 코드포인트 표기가 의미가 없으므로 U+XXXX 줄은 표시되지 않습니다. 디코딩도 위에서 고른 변환 단위를 따르므로, UTF-8 모드에서는 입력값을 0~255 범위의 바이트로 해석하고 올바른 UTF-8 시퀀스가 아니면 오류로 안내합니다.

비트 폭과 구분자

2진수 비트 폭은 8비트 또는 16비트로 고를 수 있으며, 값이 짧으면 앞을 0으로 채웁니다. 다만 값이 지정한 폭을 넘으면 자동으로 늘어납니다. 한글 는 코드포인트가 16비트를 꽉 채우고, 이모지 😀(U+1F600)는 17비트라 8비트 설정에서도 17자리로 나옵니다. 구분자는 공백·없음·쉼표·하이픈·줄바꿈 중에서 고를 수 있습니다. 구분자를 "없음"으로 두면 값들이 붙어 나오므로, 폭이 일정하지 않은 경우 나중에 다시 텍스트로 되돌릴 수 없습니다. 되돌릴 계획이 있다면 구분자를 남겨 두세요.

아스키 코드 예시

문자10진수2진수(8비트)16진수
(공백)320010000020
0480011000030
A650100000141
Z90010110105A
a970110000161
z122011110107A

대문자와 소문자는 32(16진수로 20)만큼 차이가 납니다. 그래서 6번째 비트 하나만 바꾸면 대소문자가 전환됩니다.

자주 하는 실수와 주의점

  • 디코딩 결과가 이상하다면 위쪽의 변환 단위 설정을 확인하세요. 코드포인트로 만든 값을 UTF-8 모드에서 되돌리면 깨집니다.
  • 16진수를 붙여넣을 때 U+0x 접두어가 있어도 인식하지만, 값 사이에는 공백·쉼표·하이픈·줄바꿈 중 하나로 구분이 있어야 합니다.
  • 코드포인트 모드에서 유효한 범위는 0부터 0x10FFFF까지입니다. 이를 벗어난 값은 변환할 수 없다고 안내합니다.
  • 아스키만 다룰 생각으로 8비트 폭을 골랐다가 한글을 넣으면 자릿수가 늘어납니다. 실제 저장 형태를 보려면 UTF-8 바이트 모드가 맞습니다.

자주 묻는 질문

한글이나 이모지도 2진수로 변환할 수 있나요?

네. 이 도구는 유니코드 코드포인트를 기준으로 변환하므로 영어뿐 아니라 한글, 한자, 이모지까지 정확히 처리합니다. 이모지처럼 두 개의 코드 단위로 이루어진 문자도 글자 단위를 올바르게 분리해 변환합니다.

2진수나 16진수를 다시 텍스트로 되돌릴 수 있나요?

네. 디코딩 입력칸에 2진수, 16진수, 또는 10진수 코드포인트를 붙여넣고 형식을 선택하면 원래 텍스트로 복원됩니다. 값은 공백이나 줄바꿈으로 구분하며, 위쪽에서 고른 변환 단위 설정을 따라 해석합니다.

아스키 코드와 유니코드 코드포인트는 어떻게 다른가요?

아스키는 0~127 범위의 영문·기호만 표현하는 7비트 체계이고, 유니코드 코드포인트는 전 세계 문자와 이모지를 포함하는 더 넓은 체계입니다. 영문자의 경우 두 값이 같지만 한글·이모지는 유니코드 코드포인트로만 표현됩니다.

코드포인트 모드와 UTF-8 바이트 모드는 무엇이 다른가요?

코드포인트 모드는 글자 하나에 번호 하나를 대응시켜 한글 가를 44032로 보여 줍니다. UTF-8 바이트 모드는 실제 저장되는 바이트로 분해해 같은 글자를 EA B0 80 세 바이트로 보여 줍니다. 저장 용량이나 전송 크기를 확인할 때는 UTF-8 모드를 쓰세요.

8비트로 설정했는데 자릿수가 더 길게 나옵니다.

비트 폭은 값이 짧을 때 앞을 0으로 채우는 기준일 뿐, 값이 그 폭을 넘으면 자동으로 늘어납니다. 한글이나 이모지는 코드포인트가 8비트를 넘기 때문에 8비트 설정에서도 더 긴 2진수로 표시됩니다.

구분자를 없음으로 두면 다시 되돌릴 수 있나요?

값의 자릿수가 일정하지 않으면 어디서 끊어야 할지 알 수 없어 되돌릴 수 없습니다. 나중에 디코딩할 계획이라면 공백이나 줄바꿈 같은 구분자를 남겨 두세요.

입력한 텍스트가 어딘가로 전송되나요?

아니요. 모든 변환은 브라우저 안에서만 처리되며 입력값은 서버로 전송되거나 저장되지 않습니다.