파일 업로드
  1. base64hub
  2. 텍스트 도구
  3. Base64 → ASCII

Base64를 ASCII로: 순수 ASCII 텍스트로 디코딩

Base64를 붙여넣고 엄격하게 ASCII로 읽으세요. 0–127 바이트는 평소처럼 디코딩되고 그보다 큰 바이트는 �로 나타나므로, 페이로드가 순수 ASCII인지 빠르게 확인할 수 있습니다.

무료 가입 없음, 제한 없음 로컬 업로드 없음 업데이트 2026. 10. 27.
입력 0 B출력 0 B크기 –

브라우저에서 처리됩니다. 이 페이지는 데이터를 어디로도 보낼 수 없습니다 – 확인 방법

Base64를 ASCII로 디코딩하는 방법

  1. 입력 · Base64에 Base64를 붙여넣으세요. 문자 인코딩은 ASCII로 미리 설정되어 있습니다.
  2. 출력 · 텍스트에서 텍스트를 읽으세요. 127보다 큰 바이트는 모두 �로 나타납니다.
  3. �가 보이면 순수 ASCII가 아닙니다. 문자 인코딩을 UTF-8이나 Windows-1252로 바꿔서 읽으세요. 한국어 레거시 시스템에서 온 데이터라면 EUC-KR을 선택하세요.
  4. 출력 복사를 누르거나 디코딩된 바이트를 다운로드하세요.

반대로 일반 텍스트를 인코딩하려면 ASCII를 Base64로를 사용하세요.

엄격한 ASCII 디코딩

많은 도구는 127보다 큰 바이트를 어떤 8비트 문자 집합으로 읽어 버리기 때문에, 비 ASCII 바이트가 그럴듯한 글자로 바뀌어도 아무도 알아채지 못합니다. 여기서는 ASCII가 127에서 끝나므로 128부터 255까지의 바이트는 모두 대체 문자로 표시됩니다. � 기호의 개수가 곧 비 ASCII 바이트의 개수입니다.

그래서 디코딩한 데이터를 ASCII만 받는 시스템에 넘기기 전에 빠르게 검사하는 용도로 쓸 수 있습니다. UTF-8의 악센트 문자는 2바이트라서 ��로, 둥근 따옴표와 한글 한 글자는 3바이트라서 ���로 표시됩니다.

예시

Base64바이트 (hex)ASCII로 읽은 결과
QVNDSUk=41 53 43 49 49ASCII
MjAwIE9L32 30 30 20 4F 4B200 OK
YQli61 09 62a, 탭, b
Y2Fmw6k=63 61 66 C3 A9caf�� (UTF-8 café)
4oCcaGnigJ0=E2 80 9C 68 69 E2 80 9D���hi��� (UTF-8 “hi”)

마지막 두 행은 문자 인코딩을 UTF-8로 설정하면 올바르게 디코딩됩니다. 상태 표시줄의 추정 형식 항목은 ASCII 모드에서도 형식을 알려 주므로 PNG나 PDF도 알아볼 수 있습니다. UTF-8로 되돌리면 도구가 알맞은 파일 디코더로 가는 링크를 보여 줍니다.

Base64 속 ASCII를 한눈에 알아보기

ASCII 텍스트는 Base64에서 알아보기 쉬운 모양을 띱니다. 모든 바이트가 80보다 작으므로 4자 그룹의 첫 글자는 항상 A–f 범위에 있고, g–z, 숫자, +, /는 나오지 않습니다. 다만 글자 위치가 일대일로 대응하지는 않습니다. ASCII 3글자는 항상 Base64 4글자가 되며, 4자 경계에서 시작하지 않는 부분 문자열은 디코딩할 수 없습니다.

각 문자의 코드가 필요하다면 바이트 값은 한 단계만 더 가면 됩니다. QVNDSUk=는 10진수로 65 83 67 73 73입니다. Base64를 10진수로와 Base64를 Hex로에서 이 값을 나열하고, Base64를 2진수로에서 비트를 볼 수 있습니다.

코드에서 Base64를 ASCII로

import base64

base64.b64decode("QVNDSUk=").decode("ascii")    # 'ASCII'
base64.b64decode("Y2Fmw6k=").decode("ascii")
# UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 3
list(base64.b64decode("QVNDSUk="))              # [65, 83, 67, 73, 73]

JavaScript에는 함정이 있습니다. WHATWG Encoding Standard에서 new TextDecoder("ascii")는 Windows-1252의 별칭이므로 Y2Fm6Q==를 café로 디코딩하고 비 ASCII 바이트를 전혀 알려 주지 않습니다. 대신 bytes.every(b => b < 128)처럼 바이트를 직접 검사하세요. 자세한 내용은 JavaScript에서 Base64와 Python에서 Base64에 있습니다.

자주 묻는 질문

Base64를 ASCII 텍스트로 바꾸려면 어떻게 하나요?

위 입력란에 Base64를 붙여넣으세요. 0부터 127까지의 각 디코딩된 바이트가 해당 ASCII 문자로 표시됩니다. Python에서는 base64.b64decode(s).decode("ascii")가 같은 일을 하며, 127보다 큰 바이트가 있으면 오류를 냅니다.

출력에 � 기호가 나오는 이유는 무엇인가요?

그 바이트가 ASCII가 아니기 때문입니다. 대개 악센트 문자, 둥근 따옴표, 이모지, 한글이 들어 있는 UTF-8 텍스트이므로 문자 인코딩을 UTF-8로 바꿔서 읽으세요. 출력 대부분이 �라면 데이터가 파일일 가능성이 높습니다.

ASCII 코드를 숫자로 보려면 어떻게 하나요?

65 83 67 73 73 같은 바이트 값은 Base64를 10진수로를, 41 53 43 49 49 형태는 Base64를 Hex로를 사용하세요.

ASCII 텍스트에 보이지 않는 문자가 들어 있을 수 있나요?

네. 탭, 캐리지 리턴, 라인 피드를 비롯한 제어 코드 0–31도 ASCII입니다. 이들은 정상적으로 디코딩되므로 단어 사이의 탭은 탭으로 남습니다.