작업 히스토리 (History)
기록된 작업이 없습니다.

로그인하시면 작업 기록을 무제한으로 저장하고 여러 기기에서 동기화하여 사용할 수 있습니다.

CONVERSIONHEXASCII

Hex ↔ ASCII 변환기

16진수 문자열과 ASCII/UTF-8 텍스트 간에 상호 변환합니다.

INPUT (TEXT)
0 chars
OUTPUT (HEX)
0 bytes · 0 chars
Separator:
Case:

도구 설명 및 사용 방법

16진수(Hexadecimal) 바이트 데이터와 ASCII/UTF-8 문자 텍스트 사이를 안전하게 상호 변환해주는 유틸리티입니다. 로우레벨 파일 분석, 네트워크 패킷 덤프 해독 및 디버깅 시 유용합니다.

사용 단계

1
원하는 변환 방향(Hex to ASCII 또는 ASCII to Hex)을 탭을 통해 결정합니다.
2
입력 창에 변환할 원천 데이터를 기입합니다. (16진수 입력 시 공백이나 접두사 0x 구분 가능)
3
인코딩 오류를 방지하기 위해 실시간 UTF-8 디코딩 기술을 거쳐 결과가 표출됩니다.
4
결과값 복사 버튼을 눌러 분석 도구 또는 소스 코드에 대입합니다.

작동 원리 및 상세 설명

16진수(Hexadecimal) 데이터는 0-9와 A-F의 16개 기호를 사용해 8비트 바이트 값을 표현하는 표준 방식입니다. 컴퓨터 아키텍처 및 네트워크 디버깅, 기계 코드 분석 등 로레벨 데이터 덤프의 가독성을 확보하는 데 주로 쓰입니다. 본 변환 도구는 16진수 텍스트 유입 시 접두사(0x, \x 등)나 구분 기호(공백, 콜론, 쉼표)를 먼저 정규화한 뒤, 2글자 단위의 바이트 배열로 조립합니다. 그리고 브라우저 내장 디코더를 거쳐 표준 UTF-8 글자 스트링을 환원시킵니다. 역변환 시에는 역과정으로 동작하여 문자 데이터를 바이너리 바이트 스트림으로 매핑합니다.

자주 묻는 질문 (FAQ)

16진수 입력 시 접두사나 공백이 들어가도 되나요?
예, 0x 접두사나 공백, 쉼표 구분자 등이 섞여 있어도 자동으로 필터링하여 순수 16진수 문자열만 추출해 연산에 반영합니다.
UTF-8 한글 문자열도 지원되나요?
예, 본 도구는 단순 7비트 아스키뿐만 아니라 UTF-8 인코딩 멀티바이트 바이트 스트림을 완벽히 디코딩하여 한글이 깨지지 않고 변환되도록 처리합니다.

코드 사용 예시

JavaScript 16진수 및 ASCII 상호 변환 예시
javascript
// 아스키 문자열을 16진수 문자열로 변환
const stringToHex = str => 
  Array.from(new TextEncoder().encode(str))
    .map(b => b.toString(16).padStart(2, '0'))
    .join(' ');

console.log(stringToHex("Hello")); // "48 65 6c 6c 6f"

// 16진수를 아스키 문자열로 디코딩
const hexToString = hex => {
  const cleanHex = hex.replace(/[^0-9a-fA-F]/g, '');
  const bytes = new Uint8Array(cleanHex.match(/.{1,2}/g).map(byte => parseInt(byte, 16)));
  return new TextDecoder().decode(bytes);
};

console.log(hexToString("48 65 6c 6c 6f")); // "Hello"

브라우저 네이티브 TextEncoder 및 TextDecoder를 활용한 Hex <-> UTF-8 텍스트 변환 구현 코드입니다.