텍스트-16진수 변환기
텍스트를 입력하면 UTF-8 바이트를 16진수로 보여 주고, 16진수를 붙여넣으면 그것이 나타내는 텍스트를 읽을 수 있습니다. 악센트 문자와 이모지도 올바르게 왕복 변환되며, 공백 구분, 연속, 0x 접두사 형식 중에서 출력을 고를 수 있고, 바이트 수도 표시됩니다. 무료이며 회원가입이 필요 없고, 변환은 브라우저에서 이루어집니다.
방향
16진수 출력 그룹화
텍스트-16진수 변환기 사용 방법
- 1. 방향을 고르세요. 자동 감지는 분명히 16진수인 입력만 디코딩합니다. 즉 두 자리씩 나뉜 바이트(
48 65 6c)나 0x 접두사 바이트입니다. 그 밖의 입력은 모두 인코딩됩니다. 텍스트 → 16진수와 16진수 → 텍스트는 방향을 고정하며, 결과 제목에 어느 방향으로 변환되었는지 표시됩니다. - 2. 16진수 그룹화를 고르세요. 공백 구분(
48 65), 연속(4865), 0x 접두사(0x48 0x65) 중 하나입니다. 이 설정은 텍스트를 16진수로 바꾼 출력에만 영향을 줍니다. - 3. 입력하거나 붙여넣으세요. 입력하는 동안 결과와 바이트 수가 나타납니다.
- 4. 복사하세요. 결과 복사는 출력을 복사하고, 지우기는 상자를 비웁니다.
텍스트가 16진수가 되는 방식
컴퓨터는 텍스트를 바이트로 저장하며, 바이트는 8비트입니다. 16진수 한 자리가 4비트를 나타내므로 바이트는 정확히 16진수 두 자리입니다. 도구는 먼저 텍스트를 UTF-8(RFC 3629)로 인코딩합니다. 이 방식은 글자 하나당 1~4바이트를 쓰며, 그다음 각 바이트를 소문자 16진수 두 자리로 씁니다. 일반 ASCII 문자는 1바이트이고 익숙한 값을 유지하므로 A는 41입니다. 그 밖의 문자는 더 많은 바이트를 씁니다:
| 문자 | 코드 포인트 | UTF-8 바이트(16진수) | 바이트 수 |
|---|---|---|---|
| A | U+0041 | 41 | 1 |
| é | U+00E9 | c3 a9 | 2 |
| ☕ | U+2615 | e2 98 95 | 3 |
| 😀 | U+1F600 | f0 9f 98 80 | 4 |
이 때문에 16진수 출력이 원래 텍스트보다 길 수 있고, 10진수 문자 코드와 다른 이유도 여기에 있습니다. é는 코드 포인트 233 하나이지만, 두 바이트 c3 a9입니다.
실제 예시
입력
Hello, World!
공백 구분
48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 21
연속
48656c6c6f2c20576f726c6421
0x 접두사
0x48 0x65 0x6c 0x6c 0x6f 0x2c 0x20 0x57 0x6f 0x72 0x6c 0x64 0x21
크기
13바이트
거꾸로 가면, 63 61 66 c3 a9는 café로, e2 98 95는 ☕로 디코딩됩니다. 디코딩할 때는 공백, 쉼표, 줄바꿈, 0x 접두사가 모두 무시되므로 디버거, 패킷 덤프, 소스 코드에서 16진수를 그대로 붙여넣을 수 있습니다. 나머지는 두 자리씩 짝을 이룬 16진수 자리만 남아 있어야 합니다.
오류와 예상 밖의 결과 읽기
- "입력에 16진수 자리가 아닌 문자가 있습니다." 구분 기호와
0x를 제외하고, 0–9와 a–f(대소문자 무관) 이외의 문자가 입력에 있다는 뜻입니다. - "16진수 입력의 자릿수가 홀수입니다." 각 바이트는 두 자리가 필요하므로, 자리가 빠졌거나 많으면 길이가 홀수가 됩니다. 앞의 0이 빠졌는지 확인하세요(
5는05여야 합니다). - 대체 문자(�). 유효한 UTF-8이 아닌 바이트(예: 단독
ff)는 실패하는 대신 대체 문자로 디코딩됩니다. 텍스트를 기대했다면 데이터가 다른 인코딩이거나 아예 텍스트가 아닐 가능성이 큽니다. - 자동 감지는 16진수를 인식하려면 구분 기호가 필요합니다.
cafe,dead,2024같은 단일 문자열은 16진수일 수도 있고 단어나 숫자일 수도 있으므로 텍스트로 인코딩됩니다.48656c6c6f처럼 붙어 있는 16진수도 텍스트로 읽힙니다. 이 경우에는 16진수 → 텍스트를 고르거나 바이트를 공백으로 나누세요. - 출력은 소문자입니다. 목적지가 대문자를 요구하면 편집기에서 바꾸세요.
어떤 도구가 필요한가요?
| 같은 텍스트 "Hi" | 도구 |
|---|---|
48 69 — 16진수 바이트 | 이 페이지 |
01001000 01101001 — 8비트 2진수 바이트 | 2진수 변환기 |
72 105 — 10진수 문자 코드와 ASCII 표 | ASCII 변환기 |
SGk= — Base64, URL 인코딩, HTML 엔터티 | 텍스트 인코더·디코더 |
| 한 진법의 숫자를 다른 진법으로, 예: 255를 FF로 | 진법 변환 |
자주 묻는 질문
- 텍스트를 16진수로 변환하려면 어떻게 하나요?
- 방향을 텍스트 → 16진수로 두거나 자동 감지 상태로 두고 텍스트를 입력하거나 붙여넣으세요. 각 글자는 UTF-8 바이트로 인코딩되고, 각 바이트는 16진수 두 자리로 표시되므로 Hi는 48 69가 됩니다.
- 16진수를 텍스트나 ASCII로 변환하려면 어떻게 하나요?
- 방향을 16진수 → 텍스트로 두고 16진수를 붙여넣으세요. 공백, 쉼표, 줄바꿈, 0x 접두사는 무시되며, 남은 자리는 짝수 개여야 합니다. 바이트는 UTF-8로 디코딩되므로, 일반 ASCII 바이트는 정확히 ASCII 텍스트가 됩니다.
- 어떤 그룹화 형식을 쓸 수 있나요?
- 공백 구분(48 65), 연속(4865), 0x 접두사(0x48 0x65)입니다. 방향을 16진수 → 텍스트로 두면 세 형식이 모두 같은 텍스트로 디코딩됩니다(자동 감지는 공백 구분과 0x 접두사 형식은 인식하지만, 연속 형식은 텍스트로 읽습니다). 목적지가 요구하는 형식을 고르세요. 읽기에는 공백 구분, 코드 문자열에는 연속, 소스 코드에는 접두사 형식이 맞습니다.
- 이 변환기는 어떤 인코딩을 쓰나요?
- UTF-8입니다. ASCII 문자는 각각 1바이트이며, 악센트 문자, 기호, 이모지는 2~4바이트입니다. UTF-16이나 Latin-1 같은 다른 인코딩은 ASCII가 아닌 텍스트에 다른 바이트를 만듭니다.
- 왜 입력한 16진수가 디코딩되지 않고 인코딩되었나요?
- 자동 감지는 두 자리씩 나뉜 바이트나 0x 접두사 바이트만 디코딩합니다. cafe나 2024처럼 붙어 있는 문자열은 단어일 수도 숫자일 수도 있기 때문입니다. 48656c6c6f처럼 붙어 있는 16진수는 텍스트로 인코딩되므로, 디코딩하려면 방향을 16진수 → 텍스트로 바꾸세요.
- 디코딩된 텍스트에 �가 보이는 이유는 무엇인가요?
- 붙여넣은 바이트가 유효한 UTF-8이 아니기 때문입니다. 도구는 다른 인코딩을 추측하는 대신, 유효하지 않은 각 바이트 순서마다 대체 문자를 보여 줍니다.
- 제 텍스트가 서버로 전송되나요?
- 아니요. 변환은 브라우저 내장 TextEncoder와 TextDecoder를 사용하며, 입력한 내용은 기기 밖으로 나가지 않습니다.