Encoding Repair API (v2.0)

UTF-8 / Shift_JIS / EUC-JP / Latin-1 をまたぐ文字化けを Base64 生バイトから修復する API。

日本語を含む多言語テキストの文字化けを、安全かつ高精度に修復するためのユーティリティ API です。

Pre-AI Input Hygiene / Encoding Utility
RapidAPI で見る GitHub Repo APIron Lab に戻る

概要

Encoding Repair API は、Base64 エンコードされた生バイト列 を入力とし、 UTF-8 / Shift_JIS / EUC-JP / Latin-1 など複数の文字コードをまたいで発生した 文字化け(mojibake)を自動修復 する API です。

コピー&ペーストやエディタ経由の貼り付けでは失われてしまう情報を守るため、 あえて 「Base64 専用」 の入力仕様を採用しています。

この API の役割

文字化けは AI や ETL の前段で発生し、そのまま後続工程に流すと復元不能なまま汚染が広がります。 この API はまず生バイトを保持し、そこから安全に UTF-8 へ寄せることで後段の処理基盤を安定化させます。

RapidAPI での利用

Encoding Repair API は RapidAPI 上からすぐに利用できます。

🔗 RapidAPI Hub: https://rapidapi.com/APIronlab/api/encoding-repair-api

エンドポイント

POST /encoding/v2/repair

リクエストボディ(JSON)例:

{
  "raw_bytes_base64": "<Base64エンコード済みバイト列>",
  "mode": "auto",
  "target_encoding": "utf-8"
}

レスポンス例:

{
  "result": {
    "fixed_text": "テスト",
    "target_encoding": "utf-8",
    "changed": true
  },
  "meta": {
    "version": "2.0.0",
    "mode_used": "auto",
    "detected_path": "latin1->utf-8",
    "confidence": 0.98,
    "status": "ok",
    "execution_ms": 5.42,
    "input_bytes_length": 9
  }
}

セーフフィルタにより、信頼度が低い場合は changed: false として元データをそのまま返却します。

レスポンススキーマ

運用システムで扱いやすいよう、安定した 2 階層構造で返却します。

{
  "result": {
    "fixed_text": "string",
    "target_encoding": "string",
    "changed": false
  },
  "meta": {
    "version": "2.0.0",
    "mode_used": "auto | force",
    "detected_path": "utf-8>shift_jis",
    "confidence": 1.0,
    "status": "ok",
    "execution_ms": 12.41,
    "input_bytes_length": 120
  }
}

対応エンコーディング

日本語環境で頻出する主要な文字コードを幅広くサポートします。

ユースケース

1. 日本語テキストの文字化け修復

2. 生バイト列からのテキスト復元

スクレイピング・メールアーカイブ・ログ収集など、テキストではなくバイト列のみ が手元にあるケースに対応します。

3. LLM 事前処理(Pre-AI Input Hygiene)

ChatGPT / Claude / Gemini / ローカル LLM などに投入する前に、 文字コードを UTF-8 に正規化するステップとして利用できます。

4. CSV / TSV / Excel 取り込み前のクリーニング

日本の業務システムに多い「混在エンコード」問題を、取り込み前に一度 UTF-8 に統一できます。

クイックスタート – Python 例

import base64, requests

raw = "テスト".encode("utf-8")
b64 = base64.b64encode(raw).decode("ascii")

payload = {
    "raw_bytes_base64": b64,
    "mode": "auto",
    "target_encoding": "utf-8",
}

res = requests.post(
    "https://your-endpoint/encoding/v2/repair",  # RapidAPI / API Gateway など
    json=payload,
)
print(res.json())

リンク