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(推奨)

  • 標準: 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操作の理解と効果的な実装のための技術的基盤を提供します。

このページは役に立ちましたか?