Base85 인코더 및 디코더
Base85는 4바이트를 5개의 ASCII 문자에 압축합니다. 64자가 아닌 85자의 문자 집합을 사용하므로, Base64의 “3바이트를 4문자로” 비율보다 더 촘촘합니다. 이 도구는 PostScript와 PDF 파일 안에 들어 있는 Adobe Ascii85 방식을 구현합니다. 인코더는 항상 <~와 ~> 구분 기호로 출력을 감싸며, 디코더는 구분 기호가 있든 없든 입력을 받습니다.
Base85(Ascii85)를 변환하는 방법
-
1
인코딩 또는 디코딩 선택
인코딩은 원시 바이트를 Ascii85로 바꾸고, 디코딩은 Ascii85 문자열을 다시 바이트로 바꿉니다.
-
2
텍스트 붙여넣기
인코딩할 바이트 또는 디코딩할 Ascii85 문자열을 입력란에 붙여 넣으세요.
-
3
인코더가 4바이트씩 나눔
4바이트 블록 하나하나가 5문자 Base85 문자열이 됩니다. 마지막 블록은 채움 문자를 더한 뒤 끝을 잘라냅니다.
-
4
결과 복사
Ascii85 출력은 `<~`와 `~>` 구분 기호로 감싸집니다. 다시 붙여 넣으면 디코딩되며 구분 기호는 자동으로 제거됩니다.
크기 증가율 비교
| 인코딩 방식 | 4바이트당 문자 수 | 이진 대비 증가율 |
|---|---|---|
| Hex | 8 | +100% |
| Base64 | 5.33(채움 문자 포함 시 8로 올림) | +37% |
| Base85 | 5 | +25% |
| 원시 이진 | 4 | 0 |
따라서 1 MB 이진 데이터는 Base85에서 1.25 MB, Base64에서 1.33 MB, hex에서 2 MB가 됩니다.
Ascii85 문자 집합
Ascii85(Adobe): ASCII에서 33부터 117에 해당하는 !부터 u까지의 문자와, 0 바이트 4개를 줄여 쓰는 기호인 z를 사용합니다. PostScript와 PDF 스트림의 표준 인코딩이며 <~...~>로 감쌉니다.
Z85(ZeroMQ)와 IPv6용 RFC 1924 문자 집합은 같은 85문자 아이디어를 다르게 배정한 것입니다. 이 도구는 해당 방식을 구현하지 않으므로, 그 방식으로 인코딩된 문자열을 여기서 디코딩하면 결과가 잘못됩니다.
계산 원리
4바이트마다 빅엔디언 32비트 정수 N으로 읽습니다. 출력되는 5개 문자는 N을 85진법으로 나타냈을 때의 각 자리이며, 가장 높은 자리부터 나옵니다. 85^5 = 4 437 053 125는 2^32보다 크므로, 4바이트는 항상 5문자 안에 들어갑니다.
Ascii85가 중요한 경우
텍스트 편집기로 PDF를 열고 ASCII85Decode를 검색해 보세요. Adobe는 7비트 전송(옛 팩스 방식 시스템)을 통과해야 하는 내장 이미지와 글꼴을 위한 필터로 이를 사용합니다. 같은 인코딩은 많은 PostScript 파일과 이메일로 안전하게 보낼 수 있는 바이너리 전송에서도 쓰입니다.
특수한 경우
- 모두 0인 4바이트 블록: Ascii85는 이를
!!!!!대신 한 글자z로 인코딩합니다. - 마지막 부분 블록: 0 바이트로 채운 뒤, 그에 해당하는 수만큼 출력 문자를 끝에서 잘라냅니다.
자주 묻는 질문
출력이 더 작다는 점에서는 그렇습니다. 어디서나 호환된다는 점에서는 그렇지 않습니다. Ascii85에는 XML, JSON, URL에서 이스케이프가 필요한 <, >, &, " 같은 문자가 들어갑니다. 대부분의 도구는 Base64를 기본으로 지원합니다.
PostScript와 PDF 스트림 안입니다. 인코딩된 영역은 <~와 ~>로 표시됩니다. PDF 뷰어와 편집기는 이 인코딩을 자동으로 처리합니다.
아니요. Adobe Ascii85만 구현합니다. Z85(ZeroMQ)와 IPv6용 RFC 1924 문자 집합은 85개 문자를 다르게 배정하므로, 그 방식으로 인코딩된 문자열은 여기서 잘못 디코딩됩니다.
Ascii85 규약에 따라 인코딩된 영역을 표시하기 때문입니다. 인코더는 항상 이를 추가하며, 디코더는 있으면 자동으로 제거합니다. 구분 기호 없이 문자열을 붙여 넣어도 됩니다.
관련 도구
Base64 파일 인코더
모든 파일(PDF, ZIP, 이미지, 실행 파일)을 Base64 텍스트로 인코딩해 JSON, 이메일, YAML, data URI에 삽입하세요. 브라우저에서 로컬로 실행되며 업로드가 없습니다.
Base58 인코더 및 디코더
UTF-8 텍스트나 16진수 바이트를 인코딩하고 Bitcoin, Ripple, Flickr 알파벳으로 Base58을 안전하게 디코딩하세요.
A1Z26 암호 인코더
A1Z26 암호(A=1, B=2, ... Z=26)로 텍스트를 인코딩하거나 숫자열을 다시 글자로 디코딩합니다. 구분자도 사용자 지정할 수 있습니다.
AES 암호화 / 복호화
OpenSSL의 AES cipher로 낮은 위험의 텍스트를 암호화하고 복호화합니다. passphrase는 SHA-256으로 해시되며 Base64 출력은 IV와 암호문을 담습니다.
체크섬 검증기
텍스트의 MD5, SHA-1, SHA-256, SHA-384, SHA-512 또는 CRC32 체크섬을 계산하고 기대값과 비교해 일치 여부를 명확하게 확인하세요.
암호 식별기
암호문을 붙여 넣으면 Base64, hex, 이진수, 모스, 시저 또는 치환, JWT, 일반적인 해시 등 가능성이 높은 인코딩/암호 방식을 제안합니다.
이 도구는 다른 언어로도 제공됩니다
- Base85エンコーダー・デコーダー [JA]
- Base85-Encoder/Decoder [DE]
- Encoder dan Decoder Base85 [ID]
- Base85 编码器和解码器 [ZH]
- Codificador y Decodificador Base85 [ES]
- Base85-kodare och avkodare [SV]
- Bộ mã hóa và giải mã Base85 [VI]
- Base85 Kodlayıcı ve Çözücü [TR]
- Base85 encoder en decoder [NL]
- ตัวเข้ารหัสและถอดรหัส Base85 [TH]
- Base85 Encoder and Decoder [EN]
- Encodeur et décodeur Base85 [FR]
- Codificador e Decodificador Base85 [PT]
- مشفر ومفكك Base85 [AR]
- Koder i dekoder Base85 [PL]
- Codificatore e Decodificatore Base85 [IT]
- Кодировщик и декодировщик Base85 [RU]