Binary Text Converter: 텍스트를 바이너리로
Binary Text Converter는 텍스트를 바이너리 또는 16진수로 변환하고 바이너리/16진수를 텍스트로 디코딩합니다. Unicode 지원, 구분자 설정 가능.
Binary Text Converter란?
Binary Text Converter는 일반 텍스트를 바이너리(2진수) 또는 16진수 표현으로 변환하고, 바이너리 또는 16진수 문자열을 읽을 수 있는 텍스트로 디코딩하는 무료 온라인 도구입니다. UTF-8 인코딩을 사용하여 전체 Unicode 문자 세트를 올바르게 처리합니다 — 영문자, 악센트 문자, 아랍어, 중국어, 이모지, UTF-8로 인코딩 가능한 모든 텍스트.
바이트 수준 데이터를 검사하는 개발자, 문자 인코딩을 배우는 학생, 문자열의 바이너리 또는 16진수 표현이 예상과 일치하는지 확인해야 하는 사람에게 사용됩니다. 모든 계산은 브라우저에서 로컬로 수행됩니다. 서버로는 아무것도 전송되지 않습니다. 계정 없이 무료로 사용할 수 있습니다.
주요 기능
- 텍스트에서 바이너리 변환 — 입력의 각 UTF-8 바이트를 8비트 바이너리 문자열로 인코딩합니다 (ASCII 문자
H는01001000). - 바이너리에서 텍스트 변환 — 바이너리 문자열(8비트 그룹, 공백이나 여백으로 구분)을 텍스트로 디코딩합니다.
- 16진수 지원 — 텍스트를 대문자 16진수 쌍으로 인코딩합니다 (
H는48) 또는 16진수 쌍을 텍스트로 디코딩합니다. - 구분자 설정 — 인코딩 모드: 공백, 구분자 없음, 줄바꿈. 출력의 가독성과 형식을 제어합니다.
- 입력 유효성 검사 — 디코딩 모드에서 즉시 입력을 검증합니다. 바이너리 입력은 8그룹으로
0과1문자만 포함해야 합니다. 16진수 입력은 쌍으로 유효한 16진수 문자만 포함해야 합니다. 시각적 표시기가 유효/무효 상태를 보여줍니다. - Unicode/UTF-8 지원 — 브라우저 내장
TextEncoder와TextDecoderAPI를 사용합니다. 멀티바이트 문자(악센트 문자, CJK, 이모지)를 올바르게 인코딩하고 손실 없이 디코딩합니다. - 실시간 변환 — 키 입력마다 출력이 업데이트됩니다.
- 교환 버튼 — 현재 출력을 입력 필드로 이동하고 한 번 클릭으로 모드를 전환합니다.
- 클립보드에 복사 — 출력을 원클릭으로 복사합니다.
- 배치 모드 — 여러 문자열을 한 번에 처리합니다 (서포터 기능).
사용 방법
1단계: 모드 선택
상단에 두 개의 모드 버튼이 나타납니다: Text to Binary (인코딩)와 Binary to Text (디코딩).
- 읽을 수 있는 텍스트가 있고 바이너리 또는 16진수 표현이 필요하면 Text to Binary를 선택하세요.
- 바이너리 또는 16진수 문자열이 있고 원본 텍스트를 복원하려면 Binary to Text를 선택하세요.
2단계: 형식 선택
두 개의 형식 버튼: Binary와 Hexadecimal.
- Binary는 8비트 바이너리 문자열을 생성하거나 기대합니다 (
Hello는01001000 01100101 01101100 01101100 01101111). - Hexadecimal는 대문자 16진수 쌍을 생성하거나 기대합니다 (
Hello는48 65 6C 6C 6F).
3단계: 구분자 선택 (인코딩 모드만)
인코딩 시 세 가지 구분자 옵션을 사용할 수 있습니다:
| 옵션 | 효과 | hi에 대한 출력 예시 |
|---|---|---|
| Space | 공백으로 구분된 바이트 | 01101000 01101001 |
| None | 구분자 없이 바이트 연결 | 0110100001101001 |
| Line Break | 각 바이트를 별도 줄에 | 01101000\n01101001 |
디코딩 모드에서는 구분자 옵션이 숨겨집니다. 디코더가 처리 전에 모든 공백을 제거하기 때문입니다.
4단계: 입력 입력
입력 텍스트 영역에 내용을 붙여넣거나 입력하세요. 출력이 즉시 출력 패널에 나타납니다.
인코딩 예시:
입력 (텍스트): Hello 형식: Binary, 구분자: Space
출력: 01001000 01100101 01101100 01101100 01101111
디코딩 예시:
입력 (바이너리): 01001000 01100101 01101100 01101100 01101111 모드: Binary to Text
출력: Hello
Unicode 인코딩 예시:
입력 (텍스트): café 형식: Hexadecimal, 구분자: Space
출력: 63 61 66 C3 A9
é 문자는 멀티바이트 UTF-8 문자이기 때문에 두 바이트(C3 A9)로 인코딩됩니다.
5단계: 디코딩 모드에서 입력 유효성 검사
디코딩 모드가 활성화되어 있고 입력을 입력했을 때, 유효성 검사 표시기가 나타납니다:
✓ Valid input(녹색) — 입력이 유효성 검사를 통과하고 디코딩할 수 있습니다.✗ Invalid input(빨간색) — 입력에 디코딩할 수 없는 문자가 포함되어 있습니다.
바이너리의 경우 유효성 검사 조건: 0과 1 문자만 (공백 무시), 총 비트 수가 8로 나누어 떨어져야 합니다. 16진수의 경우 유효성 검사 조건: 16진수 문자만 (공백 무시), 총 문자 수가 2로 나누어 떨어져야 합니다.
6단계: 왕복 검증에 교환 사용
인코딩 후, Swap / Switch Mode 버튼을 클릭하면 인코딩된 출력이 입력으로 이동하고, 디코딩 모드로 전환되어 원본 텍스트가 돌아오는지 확인할 수 있습니다.
실용 예제
네트워크 프로토콜 디버깅
프로토콜이 바이너리 페이로드를 전송합니다. 01001000 01100101 01101100 01101100 01101111 00100001을 캡처했고 내용을 알아야 합니다. Binary to Text를 선택하고 바이너리를 붙여넣으면 출력에서 Hello!를 읽을 수 있습니다.
국제화 텍스트의 인코딩 검증
애플리케이션이 프랑스어 문자열을 올바르게 처리하는지 테스트합니다. 16진수 형식의 인코딩 모드에서 façade를 입력하세요. 출력 66 61 C3 A7 61 64 65는 ç가 UTF-8에서 예상대로 두 바이트(C3 A7)로 인코딩된다는 것을 확인합니다. 이를 애플리케이션의 실제 바이트 출력과 비교하세요.
학생에게 바이너리 인코딩 교육
문자가 비트에 어떻게 매핑되는지 보여줍니다. 단일 문자(A)를 입력하고 학생들에게 바이너리 출력 01000001을 보여주세요. 문자를 a(소문자)로 변경하면 01100001이 됩니다. 비트 위치 5의 차이(0 대 1)는 대문자와 소문자 사이의 ASCII/Unicode 관계를 보여줍니다.
팁과 모범 사례
디코딩 입력의 공백은 무시됩니다. 디코더는 처리 전에 모든 공백(공백, 탭, 개행)을 제거합니다. 공백, 개행, 또는 구분자 없이 구분된 바이너리 입력은 동일하게 처리됩니다.
16진수 출력은 대문자를 사용합니다. 도구는 항상 16진수를 대문자(A부터 F)로 출력합니다. 디코딩 시 대문자와 소문자 모두 허용됩니다 (6F와 6f 모두 o로 디코딩됩니다).
멀티바이트 문자는 여러 출력 그룹을 생성합니다. 😀와 같은 4바이트 이모지는 4개의 바이너리 그룹(11110000 10011111 10011000 10000000) 또는 4개의 16진수 쌍(F0 9F 98 80)을 생성합니다. 이것이 올바른 UTF-8 인코딩입니다.
컴팩트한 출력에는 None 구분자를 사용하세요. 공백 없이 바이너리 출력이 필요하면 None을 선택하세요. 디코더도 이 형식을 허용합니다.
교환 버튼으로 복사 단계를 절약합니다. 인코딩 후 수동으로 복사하고 모드를 전환하고 붙여넣는 대신, Swap을 한 번 클릭하세요.
일반적인 문제 및 해결책
"Invalid binary input. Must contain only 0s and 1s in groups of 8." 디코더는 바이너리 문자열의 비트 수가 8로 나누어 떨어지지 않거나 비바이너리 문자가 있을 때 이 오류를 발생시킵니다. 입력에 불필요한 문자, 0이나 1 외의 숫자, 또는 구두점이 있는지 확인하세요.
"Invalid hex input. Must contain valid hex characters in pairs." 16진수 입력에 공백 제거 후 홀수 문자 수가 있거나 0-9A-Fa-f 외의 문자가 포함되어 있을 때 발생합니다.
출력에 깨진 문자가 표시됩니다. 이는 일반적으로 소스 데이터가 UTF-8로 인코딩되지 않았음을 의미합니다. 도구는 기본 UTF-8 인코딩으로 TextDecoder를 사용합니다. 원본 바이트가 Latin-1 또는 Windows-1252 인코딩 소스에서 온 경우, 디코딩된 텍스트는 원본과 다를 수 있습니다.
유효성 검사가 유효하지 않음을 표시하지만 입력이 올바르게 보입니다. 총 비트 수가 8로 나누어 떨어지는지 확인하세요. 공백 제거 후 17문자의 바이너리 문자열은 17이 8의 배수가 아니기 때문에 유효하지 않습니다.
복사 버튼이 비활성화되어 있습니다. 복사 버튼은 출력이 비어 있을 때 비활성화됩니다. 입력이 비어 있거나 디코딩이 오류와 함께 실패한 경우에 발생합니다. 먼저 유효성 검사 오류를 해결한 후 복사하세요.
개인정보 보호 및 보안
Binary Text Converter는 브라우저 내에서 완전히 실행됩니다. 인코딩은 브라우저 내장 TextEncoder API를 사용합니다. 디코딩은 TextDecoder를 사용합니다. 이 두 API는 모두 네트워크 요청을 하지 않습니다. 텍스트나 바이너리 데이터는 서버로 전송되지 않습니다. 도구에는 변환용 서버 사이드 컴포넌트가 없으며 페이지가 로드되면 오프라인에서 작동합니다.
자주 묻는 질문
Binary Text Converter는 무료인가요? 네, 계정 없이 무료입니다. 핵심 인코딩/디코딩 기능은 비용 없이 완전히 사용할 수 있습니다. 서포터 기능(프리셋, 히스토리, 배치 모드)은 Glyph Widgets 서포터 구독이 필요합니다.
오프라인에서 작동하나요? 네. 변환은 브라우저 네이티브 API(TextEncoder, TextDecoder)를 사용합니다. 페이지가 로드되면 인터넷 연결이 필요하지 않습니다.
텍스트는 안전한가요? 텍스트는 서버로 전송되지 않습니다. 모든 처리는 로컬 JavaScript입니다. 외부 서비스와 연결하지 않습니다.
어떤 문자 인코딩을 사용하나요? UTF-8, 브라우저의 TextEncoder와 TextDecoder API를 통해. 이모지와 Basic Multilingual Plane 외의 문자를 포함한 모든 Unicode 문자를 올바르게 지원합니다.
é가 하나 대신 두 개의 16진수 쌍을 생성하는 이유는 무엇인가요? é (U+00E9)가 UTF-8에서 두 바이트 0xC3 0xA9로 인코딩되기 때문입니다. UTF-8은 U+007F 이상의 코드 포인트를 여러 바이트를 사용하여 인코딩합니다.
공백이 아닌 구분자를 사용하는 바이너리를 디코딩할 수 있나요? 네. 디코더는 처리 전에 모든 공백을 제거하므로, 공백, 탭, 개행, 또는 구분자 없이 구분된 바이너리는 동일하게 처리됩니다.
바이너리와 16진수 출력의 차이는 무엇인가요? 둘 다 동일한 기본 바이트를 나타냅니다. 바이너리는 각 바이트를 8비트(예: 01001000)로 표시합니다. 16진수는 각 바이트를 2개의 16진수 자리(예: 48)로 표시합니다. 16진수가 더 컴팩트합니다. 바이너리는 교육 목적에 더 명시적이고, 16진수는 개발자 맥락에서 더 일반적입니다.
이모지를 지원하나요? 네. 이모지는 멀티바이트 UTF-8 문자입니다. 각각 3 또는 4바이트로 인코딩되고 손실 없이 원본 이모지로 디코딩됩니다.
여러 문자열을 한 번에 변환할 수 있나요? 네, 배치 모드(서포터 기능)를 사용하여. 배치 입력에 한 줄에 하나씩 문자열을 입력하세요.
16진수 출력이 대문자를 사용하는 이유는 무엇인가요? 소스 코드에서 byte.toString(16) 호출이 .toUpperCase()와 결합됩니다. 이것은 일반적인 규칙입니다 — RFC 표준과 많은 디버깅 도구가 16진수를 대문자로 표시합니다.
관련 도구
- Base64 Encoder/Decoder — 텍스트 맥락에서 바이너리 데이터를 위한 또 다른 일반적인 인코딩 형식.
- Character Counter — 인코딩 전에 텍스트의 문자, 바이트, 코드 포인트를 카운트합니다.
- Case Converter — 변환 전후에 텍스트의 대소문자를 변경합니다.
지금 Binary Text Converter를 사용해 보세요: Binary Text Converter