16진수 → ASCII 변환기란?
Hex to ASCII 변환기는 16진수로 표현된 값을 다시 사람이 읽을 수 있는 텍스트 문자로 되돌려 줍니다. 컴퓨터는 모든 문자를 숫자로 저장하는데, 16진수(16진법)는 이러한 바이트 값을 짧고 간결하게 표기하는 방식입니다. 이 도구는 입력한 16진수를 받아 두 자리씩 나누고, 각 쌍을 숫자 값으로 변환한 뒤 그 값에 해당하는 문자로 매핑하여 원래 텍스트를 복원합니다.
사용 방법
16진수 문자열을 입력란에 붙여넣거나 직접 입력하세요. 바이트는 공백이나 쉼표로 구분해도 되고, 띄어쓰기 없이 하나로 이어 붙여 써도 됩니다. 0x 접두사가 있어도 자동으로 무시됩니다. 계산 버튼을 누르면 디코딩된 텍스트가 곧바로 표시되며, 몇 바이트가 변환되었는지도 함께 알려 줍니다.
변환 원리
16진수는 16진법이므로 두 자리가 곧 0부터 255까지의 값을 갖는 1바이트를 의미합니다. 디코딩 과정은 다음과 같이 표현할 수 있습니다.
$$\text{ASCII} = \bigsqcup_{k=0}^{n-1} \text{char}\Big(\,\text{hex}_{16}\big(\,\text{Hex Input}[2k\,..\,2k{+}1]\big)\Big)$$각 쌍 p에 대해 int(p, 16)으로 10진수 코드를 구한 다음, chr(code)로 해당 문자를 얻습니다. 예를 들어 48은 \(4\times16 + 8 = 72\)이고, 72번 문자는 대문자 H입니다.
실제 예시
16진수 문자열 48 65 6C 6C 6F를 살펴봅시다. 각 쌍을 변환하면 \(48 \to 72 \to \text{"H"}\), \(65 \to 101 \to \text{"e"}\), \(6C \to 108 \to \text{"l"}\), \(6C \to 108 \to \text{"l"}\), \(6F \to 111 \to \text{"o"}\)가 되고, 이를 이어 붙이면 Hello가 됩니다.
자주 묻는 질문
바이트 사이에 공백이 꼭 필요한가요? 아니요. 공백, 쉼표, 0x 접두사는 모두 선택 사항이며 디코딩 전에 자동으로 제거됩니다.
자릿수가 홀수면 어떻게 되나요? 유효한 바이트는 16진수 두 자리가 필요하므로, 짝이 맞지 않는 마지막 한 자리는 무시됩니다.
대문자와 소문자를 구분하나요? 둘 다 가능합니다. 6c와 6C는 똑같이 디코딩됩니다.