オンラインテキストエンコード変換(Base64 / URL / Unicode / HTMLエンティティ / Hex / 2進数)
オンラインテキストエンコード変換(Base64 / URL / Unicode / HTMLエンティティ / Hex / 2進数):中国語と絵文字を1ページでエンコード・デコード
テキストエンコード変換はどう使う?7種類のエンコードを1ページで処理
テキストエンコード変換ツールは、同じ文字列をBase64、URL、Unicode、HTMLエンティティ、Hex、2進数の間で相互変換するオンラインツールです。
内容を貼り付け、種類を選択してエンコードまたはデコードを実行すると結果を取得できます。すべてブラウザ内で処理され、入力内容がアップロードされることはありません。
Base64ではなぜ中国語が長くなる?
Base64はバイト単位でエンコードします。UTF-8では一般的な中国語1文字が3バイトを使用し、3バイトはBase64で4文字になるため、中国語を含むBase64結果は元のバイト列より通常約3分の1長くなります。末尾にパディングとして1個または2個の等号が付くことがあります。
URL、JWT、ファイル名などに結果を使用する場合はBase64URLが適しています。プラス記号とスラッシュをハイフンとアンダースコアに置き換え、末尾の等号を省略します。
URLエンコードではencodeURIとencodeURIComponentのどちらを使う?
クエリパラメータとして値を渡す場合はencodeURIComponentを使用します。スラッシュ、疑問符、アンパサンドなどの区切り文字もエンコードします。URL全体を処理し、構造上の区切り文字を残したい場合はencodeURIを使用します。
UnicodeエスケープとHTMLエンティティの違いは?
UnicodeエスケープはJavaScriptやJSONの文字列表現で使用され、バックスラッシュ、u、4桁の16進数で文字を表します。HTMLエンティティはHTML文書のレイヤーで使用され、<や<のように文字をタグとして解釈させず、テキストとして表示します。
なぜ中国語1文字が3バイト、Hexでは6文字になる?
このツールはUTF-8のバイト列を扱います。1バイトは16進数2文字、2進数8ビットに相当します。一般的な中国語1文字はUTF-8で3バイトなので、Hexでは6文字、2進数では24ビットになります。デコード時、Hexの長さは偶数、2進数の長さは8の倍数である必要があります。
エラーや文字化けが起きやすいケースは?
よくある原因は、Base64入力に不要な空白や改行が含まれている、エンコードとデコードの方向を間違えている、URLエンコードされた文字列をBase64としてデコードしている、の3つです。エラーが出た場合は、まず種類と変換方向を確認してください。
このツールでできること・できないこと
7種類のエンコードの双方向変換、中国語、絵文字、複数行テキスト、ワンクリックコピー、ブラウザ内だけに保存される履歴に対応しています。Base64は暗号化ではないため、暗号化機能はありません。ファイルや画像の処理、文字コード変換には対応していません。すべての処理はブラウザ内で行われ、入力内容はアップロードされません。
Base64、URL、Unicode、HTMLエンティティ、Hex、2進数は何に使う?
これらのエンコード方式は異なる用途に使われます。Base64はメール、JWT、Data URLなどテキストを前提とする通信でバイナリデータを扱うために使用し、URLエンコードはリンク内のパラメータを安全に伝送します。UnicodeエスケープはJSONやJavaScriptソースで文字を表現し、HTMLエンティティは山括弧などをタグではなく文字として表示します。Hexと2進数はバイト単位のデータ確認に適しています。
よく使うエンコード方式を1ページにまとめることで、APIパラメータ、文字化けしたログ、データ形式の確認を複数サイトに移動せず行えます。
- 入力と結果はブラウザ内でローカル処理され、アップロードも登録も不要です。
- Base64はUTF-8バイトをエンコードします。中国語1文字は3バイトを使用し、エンコード後の長さは元のバイト長の約1.33倍になります。中国語と絵文字も正しく往復変換できます。
- URLエンコードではencodeURIとencodeURIComponentを使い分けられ、デコード時にはプラス記号をスペースとして扱う設定も選択できます。
- Hexと2進数はUTF-8バイトから出力されます(1バイト = 16進数2文字 = 8ビット)。パケットキャプチャやデータベースのフィールドとのバイト単位の比較に便利です。
- 不正な文字、奇数長のHex、8の倍数ではない2進数は明確なエラーとして処理されます。
- このツールはエンコードとデコードのみを行い、暗号化機能はありません。Base64の結果は誰でも元に戻せます。