글자 ↔ 2진수 변환
0과 1로 된 메시지를 받았다면 ‘풀기’에 붙여넣으세요. 8자리씩 끊어 원래 글자로 바꿔 줘요.
글자는 컴퓨터 안에서 숫자예요
컴퓨터는 모든 글자를 숫자(바이트)로 저장해요. 영어 대문자 H는 72, 2진수로 01001000이에요. 한글은 요즘 표준인 UTF-8에서 한 글자가 3바이트라서 ‘홍’은 11101101 10011001 10001101(16진수 ED 99 8D)이 돼요. 이 도구는 글자를 이런 2진수·16진수·8진수·10진수 바이트로 바꾸고, 반대로 숫자 목록을 원래 글자로 풀어요. 코딩 수업, 방탈출·퀴즈의 ‘01 암호’, 통신 데이터 확인에 쓰기 좋아요.
바꾸기
글자를 넣고 숫자 방식을 고르면 한 바이트씩 바꿔 구분자(빈칸·쉼표·줄바꿈·없음)로 이어 줘요. 2진수는 8자리, 16진수는 2자리, 8진수는 3자리로 앞을 0으로 채워 자릿수를 맞춰요. 아래 표에서 글자마다 어떤 바이트가 되는지 볼 수 있어요. 문자 인코딩을 UTF-16으로 바꾸면 모든 글자가 2바이트(‘홍’은 D6 4D), 옛 한국어 방식인 EUC-KR(CP949)로 바꾸면 한글이 2바이트(‘홍’은 C8 AB)가 돼요.
풀기
‘풀기’에서는 숫자 사이의 빈칸·쉼표·줄바꿈을 알아서 나누고, 0b·0x 머리말도 빼고 읽어요. 구분자 없이 이어 붙인 2진수(0100100001101001)는 8자리씩, 16진수는 2자리씩 끊어 읽어요. ‘자동’은 0과 1만 있으면 2진수, A–F가 있으면 16진수, 255 이하 숫자면 10진수로 짐작해요. 풀린 바이트가 고른 인코딩의 올바른 글자가 아니면 알려 주니 인코딩을 바꿔 보세요.
UTF-8 변환 결과는 파이썬 '글자'.encode('utf-8'), EUC-KR은 encode('cp949') 결과와 같은지 검증했어요. 모든 처리는 이 기기에서만 해요.
참고한 자료
자주 묻는 질문
7자리 2진수도 풀 수 있나요?
빈칸으로 나뉘어 있으면 7자리(옛 ASCII)도 읽어요. 이어 붙인 경우는 8자리씩만 끊어요.
한글 한 글자가 왜 24비트예요?
UTF-8에서 한글 완성형 글자는 3바이트(24비트)로 저장되기 때문이에요. EUC-KR이나 UTF-16을 고르면 2바이트예요.
숫자 하나를 2진수로 바꾸고 싶어요.
이 도구는 ‘글자’를 바꿔요. 숫자 255를 11111111로 바꾸려면 ‘진법 변환기’를 쓰세요.
함께 쓰면 좋은 도구
- 진법 변환기 (2진수·8진수·10진수·16진수·36진수)2·8·10·16진수와 2~36진수 사이를 아주 큰 수까지 정확히 바꾸고, 2의 보수·비트 수·바이트 순서도 보기
- 헥스 뷰어 (파일 16진수 보기·검색, 헥스를 파일로)파일의 바이트를 16진수와 글자로 나란히 보고, 위치 이동·바이트 검색·파일 형식 확인, 16진수 글자를 파일로 저장
- 유니코드 이스케이프 변환 (가 ↔ 한글, U+ 코드 포인트)한글·이모지를 홍, \u{1F600}, \U0001F600, 홍, U+D64D, %uD64D 형식으로 바꾸고, 섞여 있는 이스케이프를 한글로 풀기
- Base32·Base58·Base45·Base85 변환 (인코딩·디코딩)글자·16진수를 Base32, Base32hex, Crockford Base32, Base58(비트코인), Base45, Ascii85, Base85로 바꾸고 풀기
- JSON 정리 (보기 좋게 들여쓰기·검증·압축)JSON을 보기 좋게 들여쓰기, 오류 위치 표시, 한 줄 압축, 키 정렬, 문자열 이스케이프
- 정규식 테스트 (정규표현식 매칭 확인)패턴과 플래그로 일치하는 부분을 강조 표시, 그룹 값 표, 바꾸기 미리보기, 자주 쓰는 패턴