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(推奨)
- 標準: Unicode Transformation Format
- サポート: すべてのUnicode文字
- 互換性: 広くサポートされている
- 用途: 国際テキスト
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操作の理解と効果的な実装のための技術的基盤を提供します。