w

API 참조

Base64 인코딩 및 디코딩 작업에 대한 기술적 참조.

Base64 알고리즘

문자 세트

Base64는 바이너리 데이터를 나타내기 위해 64개의 다른 문자를 사용합니다:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

인코딩 프로세스

  1. 입력: 바이너리 데이터 또는 텍스트
  2. 그룹화: 3바이트(24비트) 블록으로 그룹화
  3. 변환: 각 24비트 그룹을 4개의 Base64 문자로 변환
  4. 패딩: 필요에 따라 패딩 추가

디코딩 프로세스

  1. 입력: Base64로 인코딩된 문자열
  2. 검증: 유효한 Base64 형식 확인
  3. 변환: 4문자 그룹을 3바이트 블록으로 변환
  4. 출력: 원본 바이너리 데이터 또는 텍스트

출력 형식

표준 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 작업의 이해와 효과적인 구현을 위한 기술적 기반을 제공합니다.

이 페이지가 도움이 되었나요?