> encode | decode | hex <

// 이진 데이터 표현을 위한 Base16(16진수) 인코딩

[SIMPLE]

쉽게 사용

즉시 Base16 인코딩/디코딩을 위한 간단한 인터페이스. 기술 지식 불필요.

[SECURE]

로컬 처리

모든 변환은 브라우저에서 수행됩니다. 데이터는 기기를 떠나지 않습니다.

[FAST]

즉시 결과

지연 없는 실시간 변환. 디버깅/개발에 적합.

>> 기술 정보

Base16 동작 방식:

Base16(16진수)은 16개의 문자(0-9, A-F)로 이진 데이터를 표현합니다. 각 바이트는 두 개의 16진수 숫자로 표시됩니다.

예시:

"Hello" → 48656C6C6F

Base16를 사용하는 이유:

  • >압축된 이진 데이터 표현
  • >사람이 읽기 쉬운 형식
  • >프로그래밍/디버깅 표준
  • >특수 문자가 필요 없음
  • >광범위한 시스템 호환성

>> 자주 묻는 질문

Base16 인코딩이란?

Base16(16진수)은 16개의 기호(0-9, A-F)로 이진 데이터를 사람이 읽기 쉬운 형식으로 표현하는 방식입니다.

언제 Base16를 사용하나요?

이진 데이터 표현, 색상 코드, 메모리 주소, 디버깅 등에 적합합니다. 프로그래밍과 시스템 관리에서 널리 사용됩니다.

Base16과 16진수는 같은가요?

네, 동일합니다. 일반적으로 “16진수”라는 이름이 더 많이 쓰입니다.

모든 Base16 문자열을 디코드할 수 있나요?

0-9와 A-F(대소문자 무시)만 포함한 유효한 문자열은 디코드할 수 있습니다. 유효하지 않은 문자는 오류를 발생시킵니다.

// Base16 비교

인코딩문자당 비트크기 증가율
Base164100%
Base32560%
Base64633%

// 코드에서의 Base16

Linux/macOS  echo -n Hello | xxd -p          # 48656c6c6f
             echo 48656c6c6f | xxd -r -p      # Hello
Python       'Hello'.encode().hex()           # '48656c6c6f'
             bytes.fromhex('48656c6c6f')
Node.js      Buffer.from('Hello').toString('hex')
             Buffer.from('48656c6c6f', 'hex').toString()

>> 더 많은 질문

Q: Base16이 데이터를 2배로 만드는 이유는?

A: 1바이트가 2문자가 되므로 오버헤드는 100%입니다. Base64는 약 33%지만, Base16은 읽고 디버깅하기 더 쉽습니다.

Q: Base16과 0x나 공백이 붙은 16진 문자열의 차이는?

A: RFC 4648의 Base16은 0–9, A–F만으로 이루어진 순수한 나열이며 접두사와 구분자가 없습니다. 0x나 바이트 사이 공백은 표시상의 관례이므로 디코딩 전에 제거해야 합니다.

Q: 유효한 Base16 문자열의 길이가 짝수여야 하는 이유는?

A: 각 바이트는 정확히 두 자리입니다. 길이가 홀수면 문자가 빠졌거나 앞의 0이 생략된 것입니다(예: 0F 대신 F).