
UTF8デコーダー
QodexのUTF-8デコーダーを使用すると、UTF-8でエンコードされた16進数文字列を読めるテキストに変換できます。エンコードされたログのデバッグ、通信パケットの分析、バイナリデータの解釈に特に役立ちます。
読めるテキストをUTF-8の16進数にエンコードするには、UTF-8エンコーダーをお試しください。データのエンコード形式が異なる場合は、Base64デコーダーやURLデコーダーもご活用ください。
UTF8デコーダー - ドキュメント
UTF-8デコードとは?
UTF-8デコードとは、UTF-8でエンコードされた16進数バイトのシーケンスを人間が読めるテキストに変換するプロセスです。
UTF-8(Unicode Transformation Format - 8ビット)はウェブで最も広く使用されている文字エンコード形式です。UTF-8のすべての記号、文字、絵文字、数字は一意のバイナリまたは16進数表現を持ちます。
Qodex UTF8デコーダーはこのエンコードを逆変換します。48 65 6c 6c 6fのようなUTF-8の16進数文字列を貼り付けると、読める形式:Helloが表示されます。
UTF-8デコードの仕組み
UTF-8はデジタルシステムでテキストを表現するために使用される可変長バイナリエンコード形式です。Aのような単純な文字から✓のような特殊記号まで、すべての文字には対応するUnicodeコードポイントがあり、UTF-8ルールに従ってバイトにエンコードされます。
ステップバイステップ:
16進数バイトのシーケンスを提供します(例:
48 65 6C 6C 6F)16進数の各ペアは1バイト(8ビット)を表します
デコーダーは16進数をバイナリに変換し、UTF-8ルールに従ってバイトをグループ化して、対応するUnicode文字にマッピングします
デコードされた出力が読めるテキストとして表示されます
例:
Hex: 48 65 6C 6C 6F
Binary: 01001000 01100101 01101100 01101100 01101111
UTF-8 Mapping: ['H', 'e', 'l', 'l', 'o']
Output: HelloUTF-8は可変長です:
ASCII文字 = 1バイト
ラテン文字/ギリシャ文字記号 = 2バイト
ほとんどのCJK文字 = 3バイト
絵文字や希少スクリプト = 4バイト
UTF-8デコード参照テーブル
よく使われるUTF-8の16進数シーケンスとデコードされた文字の一覧:
文字 | 説明 | コードポイント | UTF-8 Hex | バイト数 |
|---|---|---|---|---|
A | ラテン大文字A | U+0041 | 41 | 1 |
a | ラテン小文字a | U+0061 | 61 | 1 |
0 | 数字のゼロ | U+0030 | 30 | 1 |
(スペース) | スペース文字 | U+0020 | 20 | 1 |
© | 著作権記号 | U+00A9 | C2 A9 | 2 |
é | アクセント付きラテン小文字e | U+00E9 | C3 A9 | 2 |
ü | ウムラウト付きラテン小文字u | U+00FC | C3 BC | 2 |
€ | ユーロ記号 | U+20AC | E2 82 AC | 3 |
✓ | チェックマーク | U+2713 | E2 9C 93 | 3 |
✔ | 太いチェックマーク | U+2714 | E2 9C 94 | 3 |
中 | CJK「中」 | U+4E2D | E4 B8 AD | 3 |
𝄞 | 音楽記号Gクレフ | U+1D11E | F0 9D 84 9E | 4 |
🚀 | ロケット絵文字 | U+1F680 | F0 9F 9A 80 | 4 |
UTF-8バイト構造のルール
バイト数 | バイト1 | バイト2 | バイト3 | バイト4 |
|---|---|---|---|---|
1バイト(ASCII) | 0xxxxxxx | - | - | - |
2バイト | 110xxxxx | 10xxxxxx | - | - |
3バイト | 1110xxxx | 10xxxxxx | 10xxxxxx | - |
4バイト | 11110xxx | 10xxxxxx | 10xxxxxx | 10xxxxxx |
各xは文字のUnicodeコードポイントのビットを表します。最初のバイトの先頭ビットがシーケンスを構成するバイト数を示します。
実践的な使用例
エンコードされたメールヘッダーのデコード
多くのメールヘッダーは安全な送信のためにUTF-8でエンコードされています。16進数を抽出してここに貼り付けると、実際の件名行をデコードできます。Hex Input: 53 75 62 6a 65 63 74 3a 20 57 65 6c 63 6f 6d 65 21 Decoded: Subject: Welcome!IoTデバイスやAPIのログの分析
デバイスはテキストメッセージやアラートを16進数形式で保存することがあります。Hex Input: 41 6c 65 72 74 3a 20 e2 9c 94 Decoded: Alert: ✔マルウェアシグネチャやパケットデータのデコード
セキュリティアナリストは、文字列が16進数形式で保存されているメモリダンプやpcapファイルを調査します。
Hex: 55 73 65 72 3a 20 61 64 6d 69 6e Output: User: admin
複数のプログラミング言語でのUTF-8デコード
コードでUTF-8をデコードする必要がありますか?最もよく使われる言語のサンプルコードをご紹介します:
Python: bytes.decode('utf-8')
# UTF-8バイトを文字列にデコード encoded = b'\xc3\xa9\xc3\xa0\xc3\xbc' decoded = encoded.decode('utf-8') print(decoded) # 出力: アクセント付きeaue16進数文字列をテキストにデコード
hex_string = "48 65 6c 6c 6f" byte_data = bytes.fromhex(hex_string.replace(" ", "")) text = byte_data.decode('utf-8') print(text) # 出力: Hello
エラーを適切に処理
bad_bytes = b'\xff\xfe' safe = bad_bytes.decode('utf-8', errors='replace') print(safe) # 出力: (置換文字)
JavaScript: TextDecoder
// UTF-8バイトのUint8Arrayをデコード const decoder = new TextDecoder('utf-8'); const bytes = new Uint8Array([0x48, 0x65, 0x6C, 0x6C, 0x6F]); console.log(decoder.decode(bytes)); // 出力: Hello// 16進数文字列をテキストにデコード function hexToUtf8(hex) { const bytes = hex.split(' ').map(h => parseInt(h, 16)); return new TextDecoder('utf-8').decode(new Uint8Array(bytes)); } console.log(hexToUtf8('E2 9C 94')); // 出力: ✔
// ストリーミングデータの処理 const stream = new TextDecoderStream('utf-8'); // ReadableStreamをパイプスルー
PHP: mb_detect_encoding()と16進数変換
// 16進数をUTF-8文字列にデコード $hex = "48 65 6c 6c 6f"; $bytes = hex2bin(str_replace(' ', '', $hex)); echo $bytes; // 出力: Hello// 文字列が有効なUTF-8かどうかを検出 $text = "Caf\xc3\xa9"; if (mb_detect_encoding($text, 'UTF-8', true)) { echo "Valid UTF-8"; } else { echo "Not valid UTF-8"; }
// 他のエンコーディングからUTF-8に変換 $iso_text = mb_convert_encoding($text, 'UTF-8', 'ISO-8859-1');
Java: new String(bytes, StandardCharsets.UTF_8)
import java.nio.charset.StandardCharsets;// バイト配列を文字列にデコード byte[] utf8Bytes = {0x48, 0x65, 0x6C, 0x6C, 0x6F}; String decoded = new String(utf8Bytes, StandardCharsets.UTF_8); System.out.println(decoded); // 出力: Hello
// 16進数文字列をデコード String hex = "E2 9C 94"; String[] hexParts = hex.split(" "); byte[] bytes = new byte[hexParts.length]; for (int i = 0; i < hexParts.length; i++) { bytes[i] = (byte) Integer.parseInt(hexParts[i], 16); } System.out.println(new String(bytes, StandardCharsets.UTF_8)); // ✔
このツールの使い方
入力ボックスにUTF-8の16進数文字列を貼り付けます(例:
48 65 6c 6c 6f)。「デコード」をクリックします。
ツールはバイトを即座にHelloのような読めるテキストに変換します。
すべてのデコードはブラウザ上でクライアントサイドで行われます。データはどのサーバーにも送信されないため、機密データでも完全に安全に使用できます。
ツールの機能
UTF-8の16進数をプレーンテキストにデコード
スペースあり・なしの16進数を受け付けます(
E2 9C 94またはE29C94)即座のクライアントサイドデコード、安全でオフラインでも使用可能
マルチバイト文字、絵文字、国際スクリプトに対応
エンコードされたAPI、データベースフィールド、ログ、マルウェアサンプルのデバッグに役立ちます
ユースケース
セキュリティとフォレンジクス:パケットキャプチャやメモリダンプの16進数ペイロードをデコード
データベースリカバリ:破損したレコードの不正なUTF-8を修正
プログラミングデバッグ:エンコードされたテキストを含むAPIレスポンスやログの解釈
Web開発:HTML、CSS、URLのエンコードされた文字をデコード
ローカライゼーションQA:多言語テキストの生のエンコードを確認
組み合わせをお勧めするツール
UTF8エンコーダー -- テキストをUTF-8の16進数バイトに変換
Base64デコーダー -- base64文字列をUTF-8デコード前の生の16進数にデコード
URLデコーダー -- %E2%9C%94などのURL安全なシーケンスをデコード
プロのヒント
テキストに
%E2%9C%94が含まれている場合は、まずURLデコーダーを使用してからこのツールを使用してください。絵文字や外国語の文字は通常3〜4バイトのUTF-8シーケンスを使用します。
無効なバイトシーケンスに注意してください。デコードに失敗した場合は、スペースや破損したデータを確認してください。
このデコーダーを使って、アプリやブラウザが背後でUTF-8データをどのように処理しているかを理解しましょう。
文字化けをデバッグするときは、まずガーベッジテキストをLatin-1としてデコードし、次にUTF-8として再エンコードしてみてください。
Frequently Asked Questions
無効なUTF-8バイトを入力するとどうなりますか?
ISO-8859-1などの非UTF-8エンコーディングに使用できますか?
機密データに使用しても安全ですか?
一部の文字が置換文字として表示されるのはなぜですか?
絵文字や英語以外の文字をデコードできますか?
文字化けとは何ですか?また、どのように修正しますか?
文字列がUTF-8でエンコードされているかどうかを検出するにはどうすればよいですか?
UTF-8とUTF-16の違いは何ですか?
Related Tools
Related Articles




