UNICODE & CHARACTER ENCODING
Unicode・文字コード変換|U+・UTF-8・UTF-16を相互変換
文字列をUnicodeコードポイントやUTF byte列へ変換し、U+表記・JavaScript escape・UTF-8/UTF-16 byte列から文字へ戻せます。
入力した文字・Unicodeコード・byte列はブラウザ内だけで処理され、外部へ送信・保存されません。
変換する文字・テキスト
入力を変更せず、約200ms後にコードポイント単位で解析します。
- UTF-16 code unit数
- 0
- Unicode code point数
- 0
- UTF-8 byte数
- 0
変換結果
各欄を個別にコピーできます。BOMはbyte出力だけへ反映します。
16進コードポイント
10進コードポイント
JavaScript Unicode escape
\u{...}はコードポイント、次の欄はUTF-16 code unit表記です。
UTF-16 JavaScript escape
UTF-8 bytes
UTF-16 code units(raw)
UTF-16LE bytes
UTF-16BE bytes
コードポイント詳細
画面上で1文字に見えても複数のUnicodeコードポイントで構成される場合があります。
| # | 表示 | U+ | 10進 | UTF-8 | UTF-16 |
|---|
Unicodeコードを文字へ変換
space・tab・改行・commaで複数値を区切れます。部分的な数値解釈は行いません。
変換結果
canonical U+一覧
UTF byte列を文字へ変換
00~FFのHEX byte、0x形式、comma区切り、偶数桁の連続HEXに対応します。
Unicode code point数:0
復元文字列
Unicode U+一覧
Unicodeとは
Unicodeは世界中の文字へ一意なコードポイントを割り当てる標準です。UTF-8・UTF-16・UTF-32は、そのコードポイントをbyteやcode unitとして表現するencoding formです。このツールはブラウザ標準APIが扱えるUnicodeを対象とし、Unicodeの版を固定しません。
Unicodeコードポイントとは
コードポイントは文字へ割り当てられた0~10FFFFの番号です。例えば「あ」はU+3042です。D800~DFFFはUTF-16のサロゲート用範囲で、単独のUnicode scalar valueとしては使用できません。
U+XXXXとは
U+の後へ大文字の16進数を最低4桁で書く標準的な表記です。AはU+0041、😀はU+1F600です。HTML数値文字参照とは別物で、HTML用途にはHTMLエスケープ・アンエスケープをご利用ください。
UTF-8とは
UTF-8はコードポイントに応じて1~4byteを利用する可変長encodingです。「あ」はE3 81 82です。URL percent encodingの%E3%81%82とは用途が異なり、URL用途にはURLエンコード・デコードをご利用ください。
UTF-16とは
UTF-16は16bit code unitを使用します。「あ」は3042、BMP外の😀はhigh・low surrogateのD83D DE00です。😀はUnicode code pointでは1個、UTF-16 code unitでは2個です。
UTF-8とUTF-16の違い
UTF-8は1~4byte、UTF-16は1個または2個の16bit code unitでコードポイントを表します。UTF-16LEとUTF-16BEは各code unitのbyte順が異なります。BOMはbyte順やencodingを示す先頭markerであり、通常の本文コードポイント一覧へ追加するものではありません。
JavaScript Unicode escapeとは
BMP内は\u3042、BMP外のコードポイントは\u{1F600}と書けます。\uD83D\uDE00は同じ😀をUTF-16 surrogate pairの2 code unitsで表したものです。このツールは専用parserで解析し、evalは使用しません。
絵文字とサロゲートペア
絵文字にはBMP外のコードポイント、variation selector、ZWJ、複数コードポイントsequenceがあります。家族emojiなどは見た目が1文字でも複数コードポイントです。このツールはZWJ sequenceを一つのコードポイントへまとめません。
見た目が同じ文字でもコードが異なる場合
precomposedの「é」と、e + U+0301のcombining sequenceは見た目がほぼ同じでもコードポイント列が異なります。このツールはtrim、空白圧縮、全角半角変換、Unicode normalizationを行わず、入力どおり解析します。
よくある質問
Unicodeコードポイントを調べられますか?
はい。文字列全体をコードポイント単位で解析し、U+・16進・10進で表示します。
U+3042を文字に変換できますか?
はい。「あ」へ変換できます。
絵文字のUnicodeを確認できますか?
はい。BMP外の絵文字もcodePointAtとコードポイント走査で確認できます。
UTF-8のbyte列を確認できますか?
はい。TextEncoderで入力全文をUTF-8へ変換します。
UTF-8 byte列から文字へ戻せますか?
はい。fatal指定のTextDecoderで厳密に復元します。
UTF-16にも対応していますか?
raw code units、LE/BE byte表示、LE/BE byte decodeへ対応します。
Shift_JISに変換できますか?
初版では対応していません。Unicode・UTF-8・UTF-16へ機能を限定しています。
\u3042を文字にできますか?
はい。JavaScript Unicode escape形式で「あ」へ変換できます。
\u{1F600}にも対応していますか?
はい。1~6桁を厳密に検証し、😀へ変換できます。
\uD83D\uDE00とは何ですか?
😀をUTF-16のhigh・low surrogate pairで表したものです。
なぜ絵文字はUTF-16で2つになりますか?
BMP外コードポイントを2個の16bit code unitsで表すためです。
見た目が同じ文字なのにUnicodeが違うことはありますか?
combining markやnormalization形の違いによって異なる場合があります。
入力内容は保存されますか?
Cookie・Storage・URL・サーバーへ保存せず、外部送信もしません。