ブラウザだけで動くエンコーディング検出ツール。サンプル読み込み、変換ヒント、16言語ローカライズ付き。
機能
- スマート検出: 統計分析、BOM 検出、文字パターン認識を使用してテキストエンコーディングを自動検出。UTF-8/16/32、GBK、GB2312、Big5、Shift-JIS、ISO-8859 シリーズ、Windows-1252 をサポート、信頼度スコア付き
- 文字セット変換: サポートされている任意のエンコーディング間でテキストを変換:UTF-8 ↔ GBK ↔ Big5、文字化け問題の修正、BOM マーカーの追加または削除、サロゲートペアと結合文字を正しく処理
- エンコーディング診断: エンコーディング問題を識別:無効なバイトシーケンス、同じファイル内の混合エンコーディング、BOM の不一致、サロゲートペアエラー、修正提案と詳細なエラーレポート付き
- バッチ処理: エンコーディング検出で複数のファイルを同時に処理、ディレクトリ全体を変換、ファイル構造を保持、統計とエラーログ付き変換レポートを生成
使用例
- レガシー移行: 金融・ERP・官公庁システムを刷新する際に、GBK/Big5 アーカイブを一括で UTF-8 へ変換。
- グローバルコンテンツQA: コンテンツ/SEO チームが多言語サイト・RSS・メールの charset 宣言を検証し、文字化けを防止。
- データ取込パイプライン: パートナーから届くログや CSV、ETL 入力のエンコーディングを倉庫や Spark に投入する前に確認。
- 開発者デバッグ: Git diff や DB エクスポートをレビューしながら、BOM の衝突や混在エンコーディングを即座に特定。
使用方法
- アップロードまたは貼り付け: エンコーディング分析のためテキストファイルをアップロードまたはテキストコンテンツを貼り付け
- エンコーディング検出: 検出をクリックしてエンコーディングを自動識別、または既知の場合は手動で指定
- 結果確認: 検出されたエンコーディング、信頼度レベル、BOM の存在、テキストプレビューを確認
- 必要に応じて変換: ターゲットエンコーディングを選択、テキストを変換、変換された結果をダウンロードまたはコピー
技術詳細
エンコーディング標準
文字エンコーディングは異なる言語をサポートするために進化しました:ASCII(1963、7 ビット、128 文字、英語)。ISO-8859 シリーズ(8 ビット、256 文字、地域別:-1 ラテン、-2 中央ヨーロッパ、-5 キリル、-6 アラビア)。アジア言語用 DBCS(ダブルバイト):GB2312(1980、6763 簡体字中国語)、GBK(21886 文字、GB2312 拡張)、Big5(13060 繁体字中国語)、Shift-JIS(日本語、複雑なバイトルール)。Unicode コンソーシアムがユニバーサルエンコーディングを作成:UTF-8(可変 1-4 バイト、ASCII 互換、Web 標準)、UTF-16(2 または 4 バイト、Windows/Java デフォルト、BOM 必要)、UTF-32(固定 4 バイト、無駄だがシンプル)。現代のシステムはストレージに UTF-8、メモリ内処理に UTF-16 を好みます。
検出アルゴリズム
エンコーディング検出は複数の技術を使用:1) BOM 検出:UTF-8 (EF BB BF)、UTF-16 LE (FF FE)、UTF-16 BE (FE FF)、UTF-32 LE (FF FE 00 00)。2) 統計分析:文字頻度分布、バイトパターン、有効なバイトシーケンス。chardet (Python)、ICU (C++)、jschardet (JavaScript) のようなライブラリは、サンプルテキストでトレーニングされた文字 n-gram と言語モデルを使用。3) 検証:バイトがエンコーディングの有効なシーケンスを形成するかチェック(UTF-8 には特定の継続バイトルール、GB2312 には定義されたコード範囲がある)。4) ヒューリスティック:ファイル拡張子 (.txt)、HTTP ヘッダー(charset)、XML 宣言(<?xml encoding="">)。信頼度スコアは複数の信号を組み合わせます。短いテキストまたは珍しい文字で誤検出が発生します。
エンコーディング変換
エンコーディング間の変換には次が必要:1) ソースエンコーディングを使用してソースバイトを Unicode コードポイントにデコード。2) コードポイントをターゲットエンコーディングにエンコード。課題:マップできない文字(すべての Unicode 文字がレガシーエンコーディングに存在するわけではない)- 置換文字 (�)、HTML エンティティ、またはエラーで処理。正規化:Unicode は同じ文字に対して複数の表現を持つ(é は単一のコードポイント U+00E9 または e + 結合アクセントになれる)、NFC は合成に正規化、NFD は分解に。BOM 処理:UTF-16/32 に追加、UTF-8 はオプション(通常省略)。行末:CRLF(Windows)vs LF(Unix)は別途処理が必要。大きなファイルのストリーミング変換は、チャンク間でコンテキストを維持するステートフルデコーダーでチャンクを処理します。
よくある質問
- エンコーディング検出の精度はどのくらいですか?
- 検出器は BOM 検出、統計分析、バイトパターン検証を組み合わせて、最も可能性の高い文字セットを推定します。各実行では信頼度スコアも表示されるため、追加の手動レビューが推奨される時期がわかります。
- 検出後にテキストを変換できますか?
- はい。エンコーディングが識別されると、任意のターゲット文字セットを選択し、ブラウザで完全にテキストを変換し、ファイルをアップロードせずに変換された出力をダウンロードまたはコピーできます。
- BOM の追加または削除オプションは何をしますか?
- BOM(バイトオーダーマーク)は UTF ファイルの先頭にあるオプションの署名です。BOM を追加すると、一部の Windows ツールがエンコーディングを検出するのに役立ちますが、削除すると UNIX 環境でファイルがスリムに保たれます。テキストが使用される場所に基づいてオプションを切り替えます。
- 変換後も文字化けが表示されるのはなぜですか?
- テキストが以前に間違った文字セットでデコードされた場合、損傷がすでに保存されている可能性があります。元のファイルを再ロードし、正しいソースエンコーディングが選択されていることを確認してから、再度変換してみてください。単一ファイル内の混合エンコーディングも文字化けを引き起こす可能性があります。
- テキストはアップロードまたは保存されますか?
- いいえ。検出と変換は完全にブラウザで行われます。ファイルはデバイスから離れることはないため、機密文書はプライベートのままです。
関連ドキュメント
- Unicode 標準 - 公式 Unicode 文字エンコーディング仕様
- RFC 3629 - UTF-8 仕様 - UTF-8 エンコーディング形式標準
- GB18030 中国語エンコーディング - 中国国家標準文字エンコーディング
- ICU 文字エンコーディング検出 - Unicode 国際コンポーネント検出ライブラリ
- 文字エンコーディングベストプラクティス - 文字エンコーディング処理の W3C ガイドライン