Base64 디코더로 건너뛰기

Base64 → 16진수

Base64를 16진수로, 바이트 하나하나.

Base64를 붙여 넣으면 디코딩된 모든 바이트가 16진수로 표시됩니다. 읽기 좋은 오프셋과 ASCII 열이 있는 덤프와 함께, 16진수 문자열 복사를 쓰면 코드, 데이터베이스, 해시 비교에 바로 붙여 넣을 수 있는 48656c6c6f 형식의 값을 얻을 수 있습니다.

업데이트 · 전부 브라우저에서 실행

Base64 16진수 변환 도구

0자
디코딩 결과
형식: — 크기: 0 B
옵션
일반
디코딩 옵션

Ctrl+Enter 디코딩 Ctrl+Shift+C 결과 복사 입력란에 파일을 끌어다 놓으면 불러옵니다

Base64를 16진수로 변환하는 방법

  1. 01

    Base64 붙여 넣기

    표준 또는 URL-safe Base64를 붙여 넣으세요. 빠진 패딩과 공백은 변환 전에 자동으로 고칩니다.

  2. 02

    16진수 덤프 읽기

    16진수 탭에는 한 줄에 16바이트씩 오프셋, 16진수 바이트, 출력 가능한 ASCII 문자가 표시됩니다.

  3. 03

    필요한 형식으로 복사

    복사는 보이는 그대로의 덤프를, 16진수 문자열 복사는 바이트를 소문자로 된 연속된 16진수 값으로 복사합니다.

Base64가 16진수가 되는 원리

Base64와 16진수는 같은 바이트를 텍스트로 쓰는 두 가지 방법입니다. Base64는 문자 하나에 6비트를, 16진수는 4비트를 담습니다. 둘 사이의 변환은 Base64를 바이트로 디코딩한 뒤 각 바이트를 16진수 두 자리로 쓰는 것입니다. 그래서 Base64 4자(3바이트)는 16진수 6자리가 되고, 16진수 표현은 Base64의 약 1.5배 길이가 됩니다.

예시: SGVsbG8=은 “Hello”의 다섯 바이트로 디코딩되며, 16진수로는 48 65 6c 6c 6f, 하나의 문자열로는 48656c6c6f입니다.

16진수 덤프 읽는 법

각 줄은 첫 바이트의 오프셋(16진수)으로 시작하고, 8바이트씩 두 묶음으로 나눈 16바이트가 이어지며, 마지막에 같은 바이트를 ASCII로 보여 줍니다(출력할 수 없는 값은 점으로 표시). xxd와 hexdump -C와 같은 배치라서 출력을 나란히 비교할 수 있습니다. 첫 바이트로 파일 형식을 알 수 있습니다:

흔한 파일 형식별 Base64 시작 문자열
형식Base64 시작 부분첫 바이트(16진수)
PNGiVBORw0KGgo89 50 4e 47 0d 0a 1a 0a
JPEG/9j/ff d8 ff
GIFR0lGOD47 49 46 38 (GIF8)
WebPUklGR52 49 46 46 (RIFF)
SVGPHN2Zy / PD94bWwg<svg / <?xml
BMPQk42 4d (BM)
ICOAAABAA00 00 01 00
PDFJVBERi025 50 44 46 2d (%PDF-)
ZIP / DOCX / XLSXUEsDB50 4b 03 04 (PK)
GzipH4sI1f 8b 08

Base64를 16진수로 봐야 할 때

  • 해시와 키. API는 SHA-256 다이제스트, HMAC, 키 ID를 Base64로 돌려주는 경우가 많지만, 문서와 CLI는 16진수로 보여 줍니다. 변환하면 바로 비교할 수 있습니다.
  • 바이너리 프로토콜. Base64로 받은 protobuf 메시지, 인증서, 패킷의 정확한 바이트를 살펴볼 수 있습니다.
  • 데이터베이스 리터럴. Postgres의 bytea('\x48656c6c6f')와 MySQL의 X'48656C6C6F'는 Base64가 아니라 16진수를 받습니다.

코드로 Base64를 16진수로 변환하기

# Python
base64.b64decode("SGVsbG8=").hex()            # '48656c6c6f'

// Node.js
Buffer.from("SGVsbG8=", "base64").toString("hex")

# Shell
echo "SGVsbG8=" | base64 --decode | xxd -p

# And back again: hex -> Base64
echo "48656c6c6f" | xxd -r -p | base64

16진수가 아니라 텍스트로 디코딩하려면 기본 Base64 디코딩 도구를 사용하세요.

다른 디코더

Base64를 디코딩하는 다른 방법

자주 묻는 질문

Base64 16진수 변환: 자주 묻는 질문.

Base64를 16진수로 변환하려면 어떻게 하나요?

이 페이지의 입력란에 Base64를 붙여 넣으세요. 바이트로 디코딩되어 곧바로 16진수 덤프로 표시됩니다. 덤프는 복사로, 연속된 16진수 값은 16진수 문자열 복사로 복사할 수 있습니다. Python에서는 base64.b64decode(s).hex()로 같은 변환을 합니다.

16진수가 Base64보다 긴 이유는 무엇인가요?

16진수는 문자 하나에 4비트, Base64는 6비트를 담기 때문에 같은 바이트라도 16진수로는 1.5배 많은 문자가 필요합니다. 3바이트는 Base64로 4자, 16진수로 6자리입니다.

16진수를 다시 Base64로 바꿀 수 있나요?

네. 16진수를 바이트로 디코딩한 뒤 그 바이트를 Base64로 인코딩하면 됩니다. 명령줄에서는 xxd -r -p | base64, Python에서는 base64.b64encode(bytes.fromhex(h))입니다.

URL-safe Base64에서도 동작하나요?

네. - 나 _ 가 들어 있는 문자열은 base64url로 감지되어 자동 변환되며, 빠진 = 패딩도 16진수로 표시하기 전에 복구됩니다.