エンコード変換

よくある例

使い方

🔄 概要

UnicodeとBase64のエンコード/デコード。Unicodeはテキストをエスケープシーケンスやコードポイントに変換し、Base64は転送・保存用にテキストをエンコードします。

📖 仕組み

Unicodeは各文字に一意のコードポイントを割り当てます。エンコードはテキストをコードポイントにマッピングし、デコードはそれを読みやすいテキストに戻します。

Base64は64種類の印字可能文字でバイナリデータを表現 — 3バイトが4文字になる — テキストのみのシステムでバイナリデータを送れます。

✨ 機能

  • Unicodeエンコード: エスケープシーケンス(\uXXXX)、16進(U+XXXX)、10進コードポイント。
  • Unicodeデコード: 複数のUnicode形式を認識してテキストに変換。
  • Base64: テキストとBase64文字列間のエンコード/デコード。
  • リアルタイム変換: 入力に合わせて更新。
  • 形式オプション: Unicode出力形式を選択。
  • ローカル処理: 完全にブラウザ内で実行。
  • コピー: 結果をワンクリックでコピー。

💡 手順

Unicodeエンコード/デコード
  1. 「ソース」フィールドにテキストを入力します。
  2. Unicode出力形式を選択します(エスケープ/16進/10進)。
  3. 「エンコード →」をクリックするか、入力で自動エンコードします。
  4. Unicodeフィールドで結果を確認します。
  5. 「結果をコピー」をクリックしてコピーします。
  6. デコードする場合、エンコード済みテキストをUnicodeフィールドに貼り付け、「← デコード」をクリックします。
Base64エンコード/デコード
  1. 「ソース」フィールドにテキストを入力します。
  2. 「エンコード →」をクリックするか、入力で自動エンコードします。
  3. Base64フィールドで結果を確認します。
  4. 「結果をコピー」をクリックしてコピーします。
  5. デコードする場合、Base64をBase64フィールドに貼り付け、「← デコード」をクリックします。

📋 形式

  • Unicodeエスケープ: \uXXXX、例:\u4f60\u597d → 你好。
  • Unicode 16進: U+XXXX、例:U+4F60 U+597D → 你好。
  • Unicode 10進: 10進コードポイント、例:20320 22909 → 你好。
  • Base64: A–Z、a–z、0–9、+、/;必要に応じて = でパディング。

🎯 活用例

  • JavaScriptでのUnicodeエスケープ。
  • URLやJSONでの特殊文字エンコード。
  • APIやデータ転送でのBase64。
  • 画像やファイルのBase64。
  • 文字エンコーディングのデバッグ。
  • クロスプラットフォームデータエンコード。
  • APIペイロードエンコード。

💻 使用例

JavaScriptでのUnicode:
// Unicode escape sequences
const text1 = '\u4f60\u597d'; // "你好"

// Get a character's code point
const codePoint = '你'.codePointAt(0); // 20320
const hex = codePoint.toString(16); // "4f60"

// Create a character from a code point
const char = String.fromCodePoint(0x4f60); // "你"
JavaScriptでのBase64:
// BASE64 encode
const text = 'Hello, 世界!';
const encoded = btoa(unescape(encodeURIComponent(text)));
// "SGVsbG8sIOS4lueVjCE="

// BASE64 decode
const decoded = decodeURIComponent(escape(atob(encoded)));
// "Hello, 世界!"
PythonでのBase64:
import base64

# BASE64 encode
text = 'Hello, 世界!'
encoded = base64.b64encode(text.encode('utf-8')).decode('ascii')
# "SGVsbG8sIOS4lueVjCE="

# BASE64 decode
decoded = base64.b64decode(encoded).decode('utf-8')
# "Hello, 世界!"

⚠️ 注意事項

  • 一部のUnicode文字にはサロゲートペアが必要です。
  • Base64はサイズを約33%増加させます。
  • JavaScriptでは、非ASCII使用時にBase64前にUTF-8エンコードが必要です。
  • Base64文字列は末尾に = または == のパディングがある場合があります。
  • デコード時、Base64以外の文字(スペース、改行など)は無視されます。
  • すべてローカル処理。
  • 非常に大きなテキストはブラウザが遅くなる場合があります。長い入力は分割してください。

❓ よくある質問

  • Unicodeエンコードとデコードの違いは?
    エンコードはテキストをコードポイントに変換し、デコードはコードポイントをテキストに戻します。
  • Base64はURLで使えますか?
    はい、ただしURL-safe Base64では + を -、/ を _ に置き換え、パディングを省略することが多いです。
  • Base64が = で終わるのはなぜですか?
    = は入力長が3バイトの倍数でない場合のパディングです。
  • エスケープ文字は大文字・小文字どちらですか?
    小文字が一般的(\u4f60)ですが、大文字(\u4F60)も動作します。このツールは小文字を使用します。
  • 絵文字に対応していますか?
    はい — 絵文字はUnicodeコードポイントにエンコードされます。一部はサロゲートペアが必要です。