文字コード変換(UTF-8 / GBK、文字コード検出、中国語の文字化け修復)
文字コード変換(UTF-8 / GBK、文字コード検出、中国語の文字化け修復):バイト列とUnicodeコードポイントを確認し、文字コードを検出して文字化けをローカルで修復
文字コード変換はどう使う?バイトを確認し、文字コードを判定して文字化けを修復
文字コード変換ツールは、異なる文字コード間でテキストを変換しながら、UTF-8のバイト列とUnicodeコードポイントを表示するオンラインツールです。
元の文字コードと変換先を選択して変換します。元の文字コードが分からない場合は、まず検出を実行してください。
中国語の文字化けが起きる3つの原因
1つ目はUTF-8のバイト列をGBKとして読み取るケースで、「浣犲ソ」のような文字列になることがあります。2つ目はGBKのバイト列を単一バイト文字コードとして読み取るケースです。3つ目はバイト列の先頭にBOMがあるのに、受信側が指定された文字コードとして解釈しないケースです。文字化けの見た目を確認し、対応する逆変換を試すと原因を特定しやすくなります。
UTF-8、GBK、UTF-16、UTF-32の違いは?
UTF-8は1文字を1~4バイトで表す可変長エンコードです。英数字は1バイト、一般的な中国語は3バイトを使用し、WebページやAPIの事実上の標準です。GBKとGB2312は主に古い中国語環境で使われる2バイト文字コードです。UTF-16とUTF-32はより広い単位で文字を表現し、UTF-16はWindows内部などで利用され、UTF-32はコードポイント計算が分かりやすい一方でデータ量が大きくなります。
文字コード検出はなぜ候補と確度しか出せない?
バイト列には通常、文字コードを明示する情報が含まれていません。そのためBOMの有無、ASCII範囲、厳密なUTF-8検証、GBKとしてデコードした場合の中国語らしさなどのルールを組み合わせて判定します。短い文字列や記号だけの文字列では複数の文字コードが成立するため、候補、確度、判定根拠を提示します。
UTF-8とGBKはなぜ自由に相互変換できない?
UTF-8はGBKより多くの文字を表現できます。多くの絵文字や一部の珍しい文字はGBKに含まれないため、GBKへ変換できません。このツールでは変換できない文字を明示して、黙って削除することはありません。GBKからUTF-8への変換では通常この制限はありません。
バイト列とUnicodeコードポイントは何に使う?
バイト列はファイルやネットワーク上で実際に保存・送信されるデータです。文字化けの調査、APIの確認、データベースフィールドの比較に利用できます。U+4F60のようなUnicodeコードポイントは文字コード方式に依存せず文字を識別します。両方を表示することで、データを2つの視点から確認できます。
このツールでできること・できないこと
UTF-8、GBK、GB2312、UTF-16LE/BE、UTF-32LE/BEの変換、バイト列とコードポイントの確認、文字コード検出、2種類の代表的な文字化け修復に対応しています。根拠のない文字コード推測、翻訳や文章校正、バイナリファイルや画像の処理には対応していません。すべての変換はブラウザ内でローカル処理されます。
中国語の文字化けは直接修復できる?まず種類を見分ける
文字化けは元の文字が壊れたとは限らず、同じバイト列を間違った文字コードで読み取ったことが原因の場合が多くあります。UTF-8のバイト列をGBKとして読むと「浣犲ソ」のような文字列になることがあります。原因が分かれば、対応する逆変換で元の文字を復元できます。
元の文字コードが不明な場合は、16進数のバイト列を入力して文字コード検出を行い、候補と判定根拠を確認してから変換方向を決めてください。
- バイト列とUnicodeコードポイントを同時に表示し、2つの文字が同じ文字かどうかを確認できます。
- 文字コード検出はBOM、純粋なASCII、厳密なUTF-8デコード、GBKの確率分析という4段階で候補と確度を提示します。
- UTF-8、GBK、GB2312、UTF-16LE/BE、UTF-32LE/BEの相互変換に対応しています。
- UTF-8のバイト列をGBKとして読んだ場合と、GBKのバイト列を単一バイト文字コードとして読んだ場合の2種類の文字化けをワンクリックで修復できます。
- 変換先の文字コードで表現できない文字は明示的にエラーとして表示し、黙って削除しません。
- すべての変換はブラウザ内でローカル処理され、入力内容はアップロードされず、登録も不要です。