Base 인코딩 변환기

바이너리-텍스트 인코딩으로 된 문자열을 한 번에 다른 인코딩으로 변환합니다. 입력을 바이트로 디코딩한 뒤 곧바로 다시 인코딩하므로 중간에 손실되는 것이 없습니다.

브라우저에서만 실행되며 어떤 데이터도 업로드되지 않습니다.

사용 방법

  1. ‘원본 형식’에서 입력의 인코딩을 선택합니다(예: Base64).
  2. ‘대상 형식’에서 원하는 인코딩을 선택합니다(예: Base58).
  3. 입력을 붙여넣으면 변환된 결과가 출력됩니다.
  4. 결과를 사용하려면 ‘복사’를, 반대 방향으로 변환하려면 ‘입력과 출력 바꾸기’를 클릭합니다.

텍스트가 아니라 바이트를 변환하는 이유

Base64, Base58, 16진수를 비롯해 이 사이트의 모든 인코딩은 바이트를 표기하는 방식입니다. 텍스트로 디코딩한 다음 그 텍스트를 다시 인코딩하는 방법은 데이터가 실제로 텍스트일 때만 제대로 동작합니다. 키, 해시, 서명, 이미지, 압축 데이터에는 올바른 UTF-8이 아닌 바이트 시퀀스가 들어 있습니다. 텍스트 디코더는 이런 바이트를 대체 문자 U+FFFD로 바꾸며, 다시 인코딩한 결과는 아무 경고 없이 틀린 값이 됩니다.

이 변환기는 원본 문자열을 원시 바이트로 디코딩한 뒤 그 바이트를 대상 인코딩으로 직접 표기합니다. 32바이트 키는 정확히 32바이트로 유지되고, 앞쪽의 0 바이트도 보존되며, 반대로 변환하면 같은 바이트가 돌아옵니다. 변환은 전적으로 브라우저에서 실행됩니다.

자주 쓰는 변환

  • Base64를 Base58로: API에서 받은 공개 키와 해시를 비트코인, 솔라나, IPFS에서 쓰는 형식으로 옮깁니다. 16진수 입력이라면 16진수 Base58 변환 도구를 참고하십시오.
  • Base32를 Base64 또는 16진수로: TOTP 비밀 키를 살펴보거나, 다른 형식을 요구하는 시스템에서 다시 사용합니다.
  • 16진수를 Base62 또는 Base58로: URL에 쓸 해시와 ID를 짧게 만듭니다. 64자리 SHA-256 16진수 문자열은 약 43자가 됩니다.
  • Base64를 Base64URL로: URL, 쿠키, JWT 필드에 안전하게 쓸 수 있는 값으로 만듭니다.
  • Ascii85, Base85, Z85를 Base64로: PDF 스트림, Git 바이너리 패치, ZeroMQ 메시지에서 가져온 데이터를 다시 사용합니다.

같은 4바이트를 다섯 가지 인코딩으로 표기한 예입니다.

인코딩값
16진수deadbeef
Base643q2+7w==
Base586h8cQN
Base6244pZgF
Base85-mSjx

입력 규칙과 제한

  • Base64 입력에는 표준 알파벳과 URL 안전 알파벳을 모두 사용할 수 있으며, 줄 바꿈이 있거나 패딩이 빠져 있어도 됩니다.
  • 16진수 입력에는 공백, 콜론, 0x 접두사가 있어도 되며 대문자와 소문자 모두 허용됩니다.
  • Base58과 Base62는 데이터를 하나의 큰 수로 다루므로, 이 둘이 포함된 변환은 약 20KB로 제한됩니다.
  • 체크섬은 검사하지도 추가하지도 않습니다. Base58Check 문자열을 검증하거나 만들려면 Base58Check 페이지를 이용하십시오.

자주 묻는 질문

Base64를 Base58로 어떻게 변환합니까?

‘원본 형식’에서 Base64를, ‘대상 형식’에서 Base58을 선택한 다음 문자열을 붙여넣으십시오. Base64가 바이트로 디코딩되고, 그 바이트가 솔라나와 IPFS에서도 사용하는 Bitcoin Base58 알파벳으로 표기됩니다.

디코딩한 다음 다시 인코딩하는 것과 같습니까?

데이터가 일반 텍스트일 때만 그렇습니다. 키나 이미지 같은 바이너리 데이터는 텍스트로 디코딩하는 과정에서 바이트가 손실됩니다. 이 도구는 텍스트를 전혀 거치지 않으므로 바이트가 정확히 보존됩니다.

변환된 문자열이 입력보다 짧거나 긴 이유는 무엇입니까?
인코딩마다 한 문자에 담는 비트 수가 다릅니다. 16진수는 바이트당 2문자, Base58은 약 1.37문자, Base64는 약 1.33문자가 필요합니다. 모든 인코딩 페이지에서 나란히 비교할 수 있습니다.
여기서 2진수를 10진수로 변환할 수 있습니까?
숫자로서는 변환할 수 없습니다. 이 페이지의 2진수는 하나의 숫자 값이 아니라 데이터 바이트를 8비트 단위로 표기한 것입니다. 2진수 1010을 10진수 10으로 바꾸는 것처럼 숫자 값을 변환하려면 진법 변환기를 이용하십시오.