Cookie の使用について.本サイトでは、基本機能の提供に必要な必須 Cookie を使用しています。さらに、同意いただいた場合に限り、アクセス解析 Cookie を利用して利用状況を把握し、サービス改善に役立てます。詳しくは .
このツールは使いやすかったですか?
フィードバックは改善に役立ちます
支持Escape、百分号、十六进制、Unicode转义及BOM标记等多种模式的UTF8编码解码工具,便于开发调试。
概要
解決できる課題、処理の仕組み、データの範囲を確認できます。
入力したテキストをUTF-8で表したバイト列にし、各バイトを2桁の16進数で表示します。逆に、16進数で並んだUTF-8バイト列をテキストへ戻すこともできます。変換結果は入力した文字列そのものに基づき、外部のデータベース検索は行いません。
ここで扱うのはUnicodeのコードポイント表記ではなく、文字を実際のバイトへ符号化した結果です。たとえば「あ」はコードポイントでは U+3042、UTF-8のバイト列では E3 81 82 です。16進数の1組が1バイトを表し、UTF-8では文字によって必要なバイト数が変わります。ASCII範囲の A は 41、日本語の「あ」は3バイト、絵文字の「😀」は4バイトになります。
使い方
手順に沿って操作し、例を使って入力と結果を確認します。
テキストからバイト列を作るときは「エンコード」、16進バイト列から文字を戻すときは「デコード」に切り替えます。
エンコードでは変換したい日本語、英数字、記号、絵文字などを入力します。デコードでは各バイトを2桁の16進数で入力します。バイト間の空白や改行は取り除いて処理されます。
エンコード結果の「スペースを追加」をオンにすると E3 81 82 のようにバイトごとに区切って表示し、オフにすると E38182 と連結して表示します。切替で変わるのは見た目だけです。出力欄から必要な結果をコピーできます。
「あA😀」をエンコードすると、空白ありでは E3 81 82 41 F0 9F 98 80、空白なしでは E3818241F09F9880 です。このバイト列をデコードすると元の「あA😀」に戻ります。
活用例
仕事や日常の流れの中での活用方法を紹介します。
開発者やテスターがログ中の16進バイト列をテキストへ戻し、日本語や記号が想定どおり送られているかを見比べる用途です。入力前に、ログのアドレス表示や区切り記号を除き、バイト値だけに整えます。
英字、日本語、絵文字を順にエンコードして結果を比べると、見た目の1文字が常に1バイトとは限らないことを確認できます。プロトコルやデータ形式の説明にある値と照合するときにも使えます。
Q&A
よくある疑問や迷いやすい点をまとめて確認できます。
\u3042 やURLの %E3%81%82 を入力できますか?このページが扱う入力は、UTF-8バイトの16進表記です。「あ」なら E3 81 82 または E38182 と入力してください。\u はUnicodeエスケープ、% 付きはURLパーセント表記なので、同じ形式ではありません。
0xE3 やカンマ区切りのダンプをそのまま貼れますか?デコードでは空白類を除去しますが、0x、カンマ、コロンなどは対応する区切りとして扱いません。余分な記号を取り除き、16進数を2桁ずつ並べてから貼り付けてください。
入力がUTF-8として不完全または不正なバイト列だと、元の文字を復元できず置換文字が表示されることがあります。元データがUTF-8か確認し、欠けたバイトや転記ミスがないかを調べてください。
注意
利用範囲、結果の制限、必要な注意点を事前に確認します。
Shift_JIS、EUC-JP、UTF-16など別の文字コードのバイト列をUTF-8としてデコードしても、正しい文字にならないことがあります。文字コードの自動判定や他形式との変換は行いません。画像、圧縮データ、暗号文などの任意バイナリをテキスト化する用途にも向きません。
デコード時は空白を除いた文字数が偶数である必要があります。入力は16進数2桁ずつの並びに整えてください。実装上、各2文字の組が16進数かどうかを厳密に検証しないため、無効な文字が含まれると意図しない値として扱われる可能性があります。重要なデータでは結果だけで判断せず、元のバイト列と照合してください。
文字コード変換は暗号化ではありません。16進表示にしても内容の秘匿や改ざん防止にはなりません。
関連
関連ツール、特集、利用可能なAPIを探せます。