API 참조
Base64 인코딩 및 디코딩 작업에 대한 기술적 참조.
Base64 알고리즘
문자 세트
Base64는 바이너리 데이터를 나타내기 위해 64개의 다른 문자를 사용합니다:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
인코딩 프로세스
- 입력: 바이너리 데이터 또는 텍스트
- 그룹화: 3바이트(24비트) 블록으로 그룹화
- 변환: 각 24비트 그룹을 4개의 Base64 문자로 변환
- 패딩: 필요에 따라 패딩 추가
디코딩 프로세스
- 입력: Base64로 인코딩된 문자열
- 검증: 유효한 Base64 형식 확인
- 변환: 4문자 그룹을 3바이트 블록으로 변환
- 출력: 원본 바이너리 데이터 또는 텍스트
출력 형식
표준 Base64
- 형식: 전통적인 Base64 인코딩
- 패딩: 패딩에
=
사용 - 문자: A-Z, a-z, 0-9, +, /
- 사용 사례: 일반적인 인코딩
예시:
입력: "Hello"
출력: "SGVsbG8="
URL 안전 Base64
- 형식: URL용 수정된 Base64
- 패딩: 패딩 문자 없음
- 문자: A-Z, a-z, 0-9, -, _
- 사용 사례: URL 매개변수, 파일명
예시:
입력: "Hello"
출력: "SGVsbG8"
패딩 없는 Base64
- 형식: 패딩이 없는 표준 Base64
- 패딩: 패딩 문자 없음
- 문자: A-Z, a-z, 0-9, +, /
- 사용 사례: 특정 애플리케이션
예시:
입력: "Hello"
출력: "SGVsbG8"
문자 인코딩
UTF-8 (권장)
- 표준: 유니코드 변환 형식
- 지원: 모든 유니코드 문자
- 호환성: 널리 지원됨
- 사용 사례: 국제 텍스트
ASCII
- 범위: 0-127 문자
- 지원: 기본 라틴 문자만
- 호환성: 범용 지원
- 사용 사례: 영어 텍스트만
Latin-1 (ISO-8859-1)
- 범위: 0-255 문자
- 지원: 서유럽 문자
- 호환성: 좋은 지원
- 사용 사례: 유럽 언어
파일 처리
지원되는 파일 유형
- 이미지: PNG, JPEG, GIF, WebP, SVG, BMP
- 문서: PDF, DOC, DOCX, TXT, RTF
- 아카이브: ZIP, RAR, 7Z, TAR, GZ
- 오디오: MP3, WAV, OGG, FLAC
- 비디오: MP4, AVI, MOV, WMV
- 모든 바이너리 파일: 모든 파일 유형 지원
파일 크기 제한
- 최대 크기: 파일당 10MB
- 메모리 사용: 대용량 파일에 최적화
- 처리: 효율성을 위한 블록 처리
오류 처리
일반적인 오류
- 잘못된 Base64: 잘못된 Base64 문자열
- 파일이 너무 큼: 크기 제한 초과
- 지원되지 않는 형식: 잘못된 파일 유형
- 인코딩 오류: 문자 인코딩 문제
오류 메시지
- 사용자 친화적: 명확한 오류 설명
- 실행 가능: 해결책을 제안
- 비기술적: 이해하기 쉬움
- 유용함: 가이드 제공
성능 사양
처리 속도
- 텍스트: 실시간 처리
- 작은 파일: < 1초
- 큰 파일: 크기와 복잡성에 따라 다름
- 최적화: 효율적인 알고리즘 사용
메모리 사용
- 최소: 낮은 메모리 소비
- 효율적: 성능에 최적화
- 정리: 자동 메모리 관리
- 제한: 브라우저 제한 준수
브라우저 호환성
지원되는 브라우저
- Chrome: 완전 지원
- Firefox: 완전 지원
- Safari: 완전 지원
- Edge: 완전 지원
- 모바일: iOS Safari, Chrome Mobile
필요한 기능
- File API: 파일 업로드용
- Clipboard API: 복사 기능용
- ES6+: 최신 JavaScript 기능
- Web Workers: 대용량 파일 처리용
통합 예시
JavaScript
// 인코딩
const encoded = btoa('Hello World');
console.log(encoded); // "SGVsbG8gV29ybGQ="
// 디코딩
const decoded = atob('SGVsbG8gV29ybGQ=');
console.log(decoded); // "Hello World"
Python
import base64
# 인코딩
encoded = base64.b64encode(b'Hello World').decode('utf-8')
print(encoded) # "SGVsbG8gV29ybGQ="
# 디코딩
decoded = base64.b64decode('SGVsbG8gV29ybGQ=').decode('utf-8')
print(decoded) # "Hello World"
PHP
// 인코딩
$encoded = base64_encode('Hello World');
echo $encoded; // "SGVsbG8gV29ybGQ="
// 디코딩
$decoded = base64_decode('SGVsbG8gV29ybGQ=');
echo $decoded; // "Hello World"
이 API 참조는 Base64 작업의 이해와 효과적인 구현을 위한 기술적 기반을 제공합니다.