DevToolPal
한국어

텍스트 2진수·16진수 변환

텍스트를 UTF-8 바이트의 2진수, 16진수, 10진수, 8진수로 변환하고, 바이트를 다시 텍스트로 디코딩합니다.

로컬에서 실행, 업로드 없음

옵션

모드
형식

입력

0자 · 0 B

출력

0자 · 0 B

기능 소개

이 도구는 텍스트 뒤에 있는 바이트를 보여 주고, 바이트를 다시 텍스트로 바꿉니다. 단어를 입력하면 2진수(01001000 01101001), 16진수(48 69), 10진수(72 105), 8진수(110 151)로 볼 수 있습니다. 패킷 덤프, 디버거, 과제에서 가져온 바이트 문자열을 붙여 넣으면 다시 텍스트로 읽을 수 있습니다.

모든 변환은 UTF-8을 거치므로 단순한 ASCII뿐 아니라 모든 언어와 이모지에 쓸 수 있습니다. 덕분에 你好가 왜 6바이트인지, 이모지가 왜 데이터베이스 열에서 4바이트로 계산되는지 쉽게 확인할 수 있습니다.

사용 방법

  1. 인코딩하려면 텍스트 → 바이트, 디코딩하려면 바이트 → 텍스트를 고릅니다.
  2. 숫자 형식을 고릅니다. 2진수, 16진수, 10진수, 8진수 중 하나입니다.
  3. 인코딩할 때는 바이트 사이의 구분자(공백, 없음, 쉼표, 줄바꿈)와 16진수 글자를 대문자로 쓸지 고릅니다.
  4. 입력을 타이핑하거나 붙여 넣습니다. 결과는 입력과 동시에 갱신되며 복사하거나 다운로드할 수 있습니다.

디코딩 규칙

디코딩할 때는 입력 형태에 너그럽습니다.

  • 바이트는 공백, 쉼표, 세미콜론, 줄바꿈 중 무엇으로든, 섞어서도 구분할 수 있습니다.
  • 흔한 접두사는 제거됩니다. 16진수는 0x, \x, %, 2진수는 0b, 8진수는 0o 또는 \입니다.
  • 구분자 없이 길게 이어진 값은 고정 폭 바이트로 나눕니다. 2진수는 8자리, 16진수는 2자리, 8진수와 10진수는 3자리입니다.
  • 255를 넘는 값이나 형식에 맞지 않는 숫자는 행과 열 위치와 함께 보고됩니다.

예시

Hi 你好를 2진수로 인코딩하면 9바이트가 나옵니다. Hi에 2바이트, 공백에 1바이트, 한자 한 글자에 3바이트씩입니다. 같은 텍스트를 16진수로 하면 48 69 20 e4 bd a0 e5 a5 bd로, 16진수 편집기에서 보거나 URL에서 %E4%BD%A0처럼 보이는 값과 정확히 같습니다.

이럴 때 유용합니다

개발자는 텍스트가 디스크에 어떻게 저장되고 네트워크로 어떻게 전송되는지 확인하거나, 문자열 길이를 바이트와 글자 단위로 비교하거나, 깨진 글자(mojibake)를 디버깅할 때 씁니다. 학생은 2진수와 16진수를 손으로 연습하고 답을 확인할 때 씁니다.

자주 묻는 질문

› 어떤 문자 인코딩을 사용하나요?

웹의 인코딩인 UTF-8을 사용합니다. ASCII 문자는 한 글자에 1바이트, 악센트가 붙은 글자는 보통 2바이트, 한중일 문자는 3바이트, 이모지는 4바이트입니다.

› 0x나 \x 접두사가 붙은 바이트를 붙여 넣어도 되나요?

네. 디코딩할 때 16진수의 0x, \x, %, 2진수의 0b, 8진수의 0o 같은 접두사는 제거되며, 공백, 쉼표, 세미콜론, 줄바꿈 모두 구분자로 쓸 수 있습니다.

› 바이트가 유효한 UTF-8이 아니라는 오류가 나는 이유는 무엇인가요?

UTF-8 텍스트에 나올 수 없는 바이트 시퀀스가 있습니다. 예를 들어 단독 FF 바이트나 중간에 잘린 멀티바이트 문자입니다. 바이트를 빠짐없이 복사했는지, 형식을 올바르게 골랐는지 확인하세요.

› 입력한 텍스트가 업로드되나요?

아니요. 인코딩과 디코딩은 브라우저에서 실행됩니다.