텍스트를 2진수로 변환
텍스트를 2진수, 16진수, 8진수, 10진수로 변환하고 다시 되돌립니다.
- 브라우저에서 실행됩니다 — 입력한 텍스트는 어디로도 전송되지 않습니다
- 가입 불필요, 사용량 제한 없음, 원하는 만큼 무료로 사용
작동 방식
텍스트를 그 밑바탕의 숫자로 바꾸는 일은 퍼즐, 교육, 디버깅, 프로토콜 작업에서 자주 나옵니다. 사람들이 헷갈리는 부분은 컴퓨터에게 텍스트는 글자가 아니라 바이트이고, 어떤 바이트가 되는지는 인코딩에 달려 있다는 점입니다.
중요한 것은 UTF-8입니다
변환 전에 텍스트를 UTF-8 바이트로 인코딩합니다. 일반 영문자는 글자당 1바이트이므로 결과가 대부분의 튜토리얼에서 쓰는 ASCII 표와 똑같이 보입니다. 악센트가 있는 글자는 2바이트, 이모지는 4바이트이므로 바이트 수와 글자 수가 다르며, 두 값이 모두 표시됩니다.
묶음 표시
2진수는 바이트당 8자리, 16진수는 2자리, 8진수는 3자리로 채우고 바이트 사이에 공백을 둡니다. 이렇게 묶어야 출력이 읽기 쉽고, 다시 모호함 없이 디코딩할 수 있습니다.
다시 디코딩하기
공백으로 구분된 숫자 그룹을 붙여 넣으면 바이트로 읽어 UTF-8로 디코딩합니다. 0~255 범위를 벗어난 그룹이나 올바른 UTF-8이 아닌 시퀀스는 쓰레기 값을 조용히 내놓는 대신 오류로 알려 줍니다.
어떤 진법을 고를까요
“텍스트를 2진수로”라고 할 때 사람들이 뜻하는 것은 2진수입니다. 16진수는 훨씬 간결하며 헥스 에디터나 프로토콜 덤프에서 볼 수 있습니다. 8진수는 주로 역사적인 용도입니다. 10진수는 소리 내어 읽기 가장 쉽습니다.
텍스트를 2진수로 변환 자주 묻는 질문
이모지가 숫자 네 개로 나오는 이유는 무엇인가요?
이모지는 UTF-8에서 4바이트입니다. 바이트 수와 글자 수가 모두 표시됩니다.
2진수를 다시 텍스트로 변환할 수 있나요?
네. 공백으로 구분된 그룹을 붙여 넣으면 디코딩합니다.
바이트가 올바른 UTF-8이 아니라고 나오는 이유는 무엇인가요?
숫자들이 올바른 문자 시퀀스를 이루지 못하기 때문이며, 보통 그룹이 빠졌거나 하나 더 있는 경우입니다.