Hex 인코딩 & 디코딩
무료 온라인 Hex 인코딩 & 디코딩 도구. 100% 로컬 처리 — 데이터가 기기를 벗어나지 않습니다.
결과가 여기에 표시됩니다...
입력 → 인코딩
Usage Guide
16진법(Hex) 소개
16진법(Hex)은 16개의 문자(0-9, A-F)를 사용하여 이진 데이터를 나타내는 인코딩 방법입니다. 각 16진 문자는 4비트의 이진수(0-15)를 나타내므로, 각 바이트(8비트)는 2개의 16진 문자로 나타낼 수 있습니다. 16진 인코딩된 데이터는 원본 데이터 크기의 200%로 Base64보다 크지만 더 읽기 쉽고 디버깅에 적합합니다. 16진법은 색상 코드, MAC 주소, 해시 값, 메모리 주소 등 다양한 시나리오에서 광범위하게 사용되며, 프로그래머가 가장 일반적으로 사용하는 인코딩 방법 중 하나입니다.
사용 단계
16진법 인코딩 및 디코딩은 매우 간단합니다:
인코딩 원리
16진법 인코딩은 다음 프로세스를 통해 이진 데이터를 16진 문자로 변환합니다:
0xFF (255)는 “FF”로 인코딩, 바이트 0x41 (65, 문자 'A')는 “41”로 인코딩. 문자열 “Hello”는 “48656C6C6F”로 인코딩.16진법 형식 변형
16진법 인코딩에는 여러 가지 일반적인 형식 변형이 있습니다:
응용 시나리오
16진법은 가독성과 디버깅 친화성이 필요한 시나리오에서 광범위하게 사용됩니다:
FAQ
Q: 16진법과 Base64의 차이점은 무엇입니까?
A: 16진법과 Base64 는 모두 이진 데이터의 텍스트 표현이지만 특성이 다릅니다. 16진법: 1) 16개 문자(0-9, A-F) 사용. 2) 인코딩 크기는 원본 데이터의 200%. 3) 더 읽기 쉽고 디버깅에 적합. Base64: 1) 64개 문자(A-Z, a-z, 0-9, +, /) 사용. 2) 인코딩 크기는 원본 데이터의 약 133%. 3) 더 컴팩트하고 전송에 적합. 선택 조언: 1) 가독성과 디버깅 필요: 16진법 사용. 2) 컴팩트한 전송 필요: Base64 사용. 3) 암호화 알고리즘 출력: 일반적으로 16진법 사용(예: SHA-256).
Q: 해시 값이 일반적으로 16진법으로 표현되는 이유는 무엇입니까?
A: 해시 알고리즘(예: SHA-256, MD5)는 이진 데이터를 출력하며, 일반적으로 16진법으로 표현됩니다. 이유: 1) 가독성: 16진법은 이진보다 읽기 쉽고 수동 비교가 용이. 2) 고정 길이: SHA-256은 32바이트를 출력하며 64개의 16진 문자로 고정 길이 표현. 3) 전통적 관행: 암호화 및 해시 필드는 전통적으로 16진법 사용. 4) 디버깅 친화적: 개발자는 해시 값을 쉽게 복사, 붙여넣기, 비교 가능. 예: SHA-256(“hello”) = 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824.
Q: 16진법 색상 코드란 무엇입니까?
A: 16진법 색상 코드는 RGB 색상을 16진 표기법으로 나타내며, #RRGGBB 형식으로 포맷됩니다. 형식: 1) #RRGGBB: 6자리 16진법, 각 2자리는 색상 채널(빨강, 녹색, 파랑) 표현. 2) #RGB: 3자리 단축형, 각 자리는 한 번 반복(예: #F00 = #FF0000). 예: 1) #FF0000: 순수 빨강(R=255, G=0, B=0). 2) #00FF00: 순수 녹색(R=0, G=255, B=0). 3) #0000FF: 순수 파랑(R=0, G=0, B=255). 4) #FFFFFF: 흰색. 5) #000000: 검은색. 변환: 16진법 색상은 RGB(예: rgb(255, 87, 51)) 또는 HSL(예: hsl(14, 100%, 60%))로 변환 가능.
Q: MAC 주소가 16진법으로 표현되는 이유는 무엇입니까?
A: MAC 주소(미디어 액세스 제어 주소)는 네트워크 장치의 물리 주소이며 16진법으로 표현됩니다. 형식: 6바이트(48비트), 일반적으로 콜론 또는 하이픈으로 구분, 00:1A:2B:3C:4D:5E 또는 00-1A-2B-3C-4D-5E 형식. 이유: 1) 컴팩트: 6바이트는 12개의 16진 문자로 표현, 이진(48비트) 또는 10진(14자리 숫자)보다 컴팩트. 2) 가독성: 16진법은 이진보다 읽기 쉽고 수동 식별 및 입력이 용이. 3) 표준: IEEE 802 표준은 MAC 주소를 표현하기 위해 16진법 사용 규정. 예: 00:1A:2B:3C:4D:5E는 MAC 주소 0x001A2B3C4D5E 표현.
Q: JavaScript에서 16진법을 사용하려면 어떻게 합니까?
A: JavaScript는 16진법 인코딩을 처리하기 위한 여러 방법을 제공합니다. 문자열에서 16진법:const str = 'Hello';
const hex = Array.from(str).map(c => c.charCodeAt(0).toString(16).padStart(2, '0')).join('');
// 결과: '48656c6c6f'
16진법에서 문자열:const hex = '48656c6c6f';
const str = hex.match(/.{1,2}/g).map(byte => String.fromCharCode(parseInt(byte, 16))).join('');
// 결과: 'Hello'
숫자에서 16진법: const hex = (255).toString(16); // 'ff'
16진법에서 숫자: const num = parseInt('ff', 16); // 255
Q: 16진 에디터란 무엇입니까?
A: 16진 에디터는 이진 파일을 보고 편집하는 도구로, 파일 내용을 16진 형식으로 표시합니다. 기능: 1) 이진 파일 보기: 파일의 각 바이트를 16진 형식으로 표시. 2) 이진 파일 편집: 파일의 바이트 값을 직접 수정. 3) 검색 및 바꾸기: 이진 파일에서 특정 바이트 시퀀스 검색. 4) 파일 분석: 파일 구조 분석, 파일 헤더 찾기, 파일 유형 식별. 사용 사례: 1) 리버스 엔지니어링: 실행 파일, 펌웨어 분석. 2) 데이터 복구: 손상된 파일 복구. 3) 게임 수정: 게임 저장, 설정 수정. 4) 보안 연구: 악성 소프트웨어 분석. 일반적인 도구: HxD(Windows), Hex Fiend(macOS), xxd(Linux 명령줄).
Use Cases
권장: CSS 색상 코드
16진법 색상 코드는 CSS에서 가장 일반적으로 사용되는 색상 표현이며, #RRGGBB 형식으로 포맷됩니다. 각 2자리 16진법은 색상 채널(빨강, 녹색, 파랑)을 나타내며, 값은 00-FF(0-255) 범위입니다. 16진법 색상 코드는 간결하고 읽기 쉬우며 웹 개발의 표준입니다. 최신 CSS는 8자리 16진법 색상(#RRGGBBAA)도 지원하며, 마지막 2자리는 투명도(알파 채널)를 나타냅니다.
- ✅ 표준 6자리 16진법(#FF5733)
- ✅ 3자리 단축형(#F00 = #FF0000)
- ✅ 투명도가 있는 8자리 16진법(#FF573380)
- 💡 색상 선택 도구를 사용하여 16진법 색상 생성
- 💡 CSS 변수를 사용하여 색상 관리 고려
권장: 해시 값 표현
암호화 해시 알고리즘(예: SHA-256, MD5)는 일반적으로 16진법 형식으로 출력됩니다. 16진법 형식의 해시 값은 읽기 쉽고 복사, 붙여넣기, 비교가 용이하여 파일 무결성 검증, 디지털 서명, 암호 저장 등의 시나리오에서 표준 형식입니다. 예를 들어 Git은 커밋을 식별하기 위해 SHA-1 해시 값(40자리 16진법)을 사용하고, 블록체인은 블록을 식별하기 위해 SHA-256 해시 값(64자리 16진법)을 사용합니다.
- ✅ 파일 무결성 검증(SHA-256)
- ✅ Git 커밋 ID(SHA-1)
- ✅ 블록체인 블록 해시(SHA-256)
- ✅ 암호 해시(bcrypt, Argon2)
- 💡 일관성을 위해 소문자 16진법 사용
권장: MAC 주소 및 네트워크 식별자
MAC 주소(물리 주소)는 6바이트(48비트)의 16진법 표현을 사용하며, XX:XX:XX:XX:XX:XX 또는 XX-XX-XX-XX-XX-XX 형식으로 포맷됩니다. MAC 주소는 네트워크 장치를 고유하게 식별하며, 처음 3바이트는 공급업체 식별자(OUI), 마지막 3바이트는 장치 일련번호입니다. 마찬가지로 IPv6 주소도 16진법 표현을 사용합니다(예: 2001:0db8:85a3:0000:0000:8a2e:0370:7334).
- ✅ MAC 주소(00:1A:2B:3C:4D:5E)
- ✅ IPv6 주소(2001:db8::1)
- ✅ 네트워크 장치 식별자
- 💡 가독성을 위해 콜론 구분자 사용
권장: UUID 및 고유 식별자
UUID(범용 고유 식별자)는 16진법 표현을 사용하며, xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 형식(32자리 16진법 + 4개 하이픈)으로 포맷됩니다. UUID는 전역적으로 고유한 식별자를 생성하며, 데이터베이스 기본 키, 분산 시스템, 파일 시스템 등 다양한 시나리오에서 광범위하게 사용됩니다. UUID는 여러 버전(v1-v5)이 있으며, v4(무작위 생성)가 가장 일반적입니다.
- ✅ 데이터베이스 기본 키
- ✅ 분산 시스템 ID
- ✅ 파일 시스템 식별자
- ✅ API 요청 ID
- 💡 UUID v4(무작위) 또는 v7(타임스탬프) 사용
권장: 이진 파일 분석
16진 에디터를 사용하여 이진 파일을 보고 편집하는 것은 리버스 엔지니어링, 데이터 복구, 보안 연구에서 일반적인 방법입니다. 16진 에디터는 파일의 각 바이트를 16진 형식으로 표시하여 파일 구조 분석, 파일 헤더 찾기, 파일 유형 식별이 용이합니다. 예를 들어 PNG 파일은 89 50 4E 47 (.PNG)로 시작하고, JPEG 파일은 FF D8 FF로 시작합니다.
- ✅ 리버스 엔지니어링(실행 파일 분석)
- ✅ 데이터 복구(손상된 파일 복구)
- ✅ 파일 형식 분석
- ✅ 보안 연구(악성 소프트웨어 분석)
- 💡 전문 16진 에디터 사용(HxD, Hex Fiend)
권장: 메모리 주소 및 디버깅
프로그램 디버깅 중 메모리 주소는 일반적으로 16진법으로 표현됩니다(예: 0x7FFF5FBFF000). 16진법 형식의 메모리 주소는 읽기 쉽고 비교하기 쉬우며, 디버거(GDB, LLDB, WinDbg 등)의 표준 형식입니다. 개발자는 16진법 주소를 사용하여 메모리 내용을 보고, 중단점을 설정하고, 프로그램 동작을 분석할 수 있습니다.
- ✅ 디버거(GDB, LLDB, WinDbg)
- ✅ 메모리 덤프 분석
- ✅ 포인터 및 주소 계산
- ✅ 어셈블리 언어 개발
- 💡 16진수를 나타내기 위해 0x 접두사 사용
모범 사례 권장사항
- 16진법 인코딩된 데이터는 원본 데이터 크기의 200%로 대용량 파일 전송에 부적합합니다. 대신 Base64 또는 이진 전송을 사용하세요.
- 해시 값은 일반적으로 일관성을 위해 소문자 16진법을 사용합니다(예: Git, 블록체인).
- CSS 색상 코드는 더 일반적으로 대문자 16진법(#FF5733)을 사용하지만 소문자(#ff5733)도 허용됩니다.
- MAC 주소는 하이픈(00-1A-2B-3C-4D-5E)보다 콜론 구분자(00:1A:2B:3C:4D:5E)를 더 일반적으로 사용합니다.
- JavaScript에서는 toString(16)을 사용하여 숫자를 16진법으로 변환하고, parseInt(hex, 16)을 사용하여 16진법을 숫자로 변환합니다.
- 16진 에디터는 이진 파일 분석을 위한 강력한 도구이지만 파일 형식 및 바이트 순서(빅 엔디안/리틀 엔디안) 이해가 필요합니다.