DevToys Web Pro iconDevToys Web Pro블로그
평가하기:
브라우저 확장 프로그램을 사용해 보세요:

텍스트 ↔ 바이너리 변환기

모드
비트
구분자

텍스트

  • 2진수

  • 기술적 세부 정보

    텍스트 ↔ 바이너리 변환기가 동작하는 방식

    도구가 하는 일

    텍스트 ↔ 바이너리 도구는 텍스트를 이진 표현으로, 그리고 그 반대로 변환합니다. 문자당 8비트에서는 입력이 UTF-8 바이트로 인코딩되며, 문자당 16비트에서는 각 코드 유닛을 그대로 출력합니다. 구분자(공백, 쉼표, 줄바꿈, 또는 없음)를 통해 출력이 읽기 쉽거나 붙여넣기 쉽게 됩니다. 디코딩은 이러한 구분자의 어떤 조합도 받아들이며, 전체 길이가 설정된 비트 그룹 크기의 배수이기만 하면 비트가 붙어 있는 문자열도 처리합니다.

    개발자들이 흔히 사용하는 사례

    교육자와 학생은 ASCII와 UTF-8이 문자를 바이트로 어떻게 인코딩하는지 시각화하는 데 이 도구를 사용합니다. 임베디드 개발자는 메시지 페이로드의 테스트 픽스처를 준비합니다. 보안 분석가는 캡처나 리버스 엔지니어링 글에서 복사한 바이너리 블롭을 디코딩합니다. 또한 자체 비트 패킹 방식을 구현할 때의 빠른 검증이나, 동료에게 엔디언과 문자 인코딩을 설명할 때의 간단한 확인 도구로도 유용합니다.

    데이터 형식, 타입 또는 변형

    문자당 8비트에서는 텍스트를 UTF-8로 왕복 변환하므로 악센트 문자와 CJK 표의문자도 올바르게 인코딩/디코딩됩니다(예: 'é'는 11000011 10101001이 됨). 문자당 16비트에서는 UTF-16 코드 유닛을 출력하며, 이는 JavaScript가 내부적으로 문자열을 표현하는 방식과 맞출 때 유용합니다. 구분자는 순전히 표시를 위한 것으로, 디코더는 공백, 쉼표, 줄바꿈을 정규화합니다.

    흔한 함정과 엣지 케이스

    같은 입력에서 8비트 그룹과 16비트 그룹을 섞으면 잘못된 출력이 나옵니다 — 하나를 선택하고 일관되게 사용하세요. UTF-16 서로게이트 페어는 두 개의 별도 16비트 그룹으로 출력되며, 이를 문자당 8비트로 디코딩하려고 하면 원래 문자가 복원되지 않습니다. 구분자 없이 붙어 있는 비트 문자열을 디코딩할 때는 전체 길이가 비트 그룹 크기의 정확한 배수여야 하며, 그렇지 않으면 도구가 오류를 보고합니다.

    코드 대신 이 도구를 사용해야 하는 경우

    1회성 변환, 수업 데모, 픽스처를 빠르게 준비할 때는 브라우저 도구를 사용하세요. 애플리케이션 코드에서는 UTF-8 변환에 `TextEncoder` / `TextDecoder`, Node.js의 `Buffer.from(str, 'utf8')`, 또는 Python의 `bytes(str, 'utf-8')`를 사용하세요 — 이들은 정적 변환기가 처리하지 못하는 스트리밍, 오류 모드, BOM 감지를 처리합니다.