본문으로 건너뛰기
🛠️ToolsShed

텍스트→16진수

텍스트를 16진수 인코딩으로 변환하거나 다시 텍스트로 디코딩합니다.

구분자:

이 도구 소개

텍스트 투 헥스는 입력한 텍스트를 16진수 표기법으로 변환하고, 그 역과정도 수행하는 도구입니다. 16진수 인코딩은 모든 디지털 데이터 표현의 기초이며, 여러분이 입력하는 각 문자, 기호, 이모지는 결국 컴퓨터의 메모리에 숫자로 저장됩니다. 16진수는 이러한 숫자들을 가장 읽기 쉬운 형태로 표현하는 표준 방식입니다. 이 도구는 수학적 배경 지식 없이도 변환을 즉시 수행할 수 있게 해줍니다.

도구 사용 방법은 간단합니다. 입력 필드에 텍스트를 붙여 넣거나 입력한 후 변환 버튼을 클릭하면 됩니다. 역방향 변환을 원하면 16진수 값(0x 접두사나 공백 유무와 관계없이)을 입력하고 읽을 수 있는 텍스트로 변환하면 됩니다. 이 도구는 텍스트와 16진수 데이터를 자동으로 감지하기 때문에 코드 디버깅, 바이너리 파일 검사, 프로토콜 분석, 또는 데이터가 바이트 수준에서 어떻게 표현되는지 이해할 때 매우 유용합니다.

소프트웨어 개발자들은 API 작업, 암호화, 또는 16진수 표현이 표준인 저수준 파일 형식을 다룰 때 이 도구를 매우 유용하게 사용합니다. 학생들은 문자 인코딩 방식을 배우고 디지털 정보가 근본적으로 어떻게 표현되는지 이해하기 위해 사용합니다. 이 도구는 브라우저에서 완전히 동작하므로 서버 연결이나 특별한 소프트웨어가 필요하지 않으며, 언제 어디서든 어떤 기기에서든 접근할 수 있습니다.

자주 묻는 질문

코드 구현

def text_to_hex(text: str, separator: str = " ") -> str:
    """Convert UTF-8 text to hexadecimal string."""
    encoded = text.encode("utf-8")
    hex_parts = [f"{byte:02x}" for byte in encoded]
    return separator.join(hex_parts)

def hex_to_text(hex_string: str) -> str:
    """Convert hexadecimal string back to UTF-8 text."""
    # Remove common separators
    cleaned = hex_string.replace(" ", "").replace("-", "")
    if len(cleaned) % 2 != 0:
        raise ValueError("Hex string must have an even number of characters")
    byte_values = bytes(int(cleaned[i:i+2], 16) for i in range(0, len(cleaned), 2))
    return byte_values.decode("utf-8")

# Examples
print(text_to_hex("Hello"))       # 48 65 6c 6c 6f
print(text_to_hex("Hi", "-"))     # 48-69
print(hex_to_text("48 65 6c 6c 6f"))  # Hello
print(hex_to_text("48656c6c6f"))       # Hello

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.