← トップページブラウザー内で実験
RASCAL / INTERACTIVE LAB

文字・文字化け実験室

文字をバイト列にして、別の方式で読み直す。絵文字の「1文字」も分解してみよう。

入力や実験結果は送信・保存しません。ページへの通常のアクセス記録は残ります。

1. 文字を入れて、数え方を比べる

JavaScriptのlengthはUTF-16コード単位。コードポイントはUnicodeの番号、書記素クラスタは見た目の文字に近いまとまりです。NFCは合成できる文字をまとめますが、すべての見た目が同じ文字を同一にするわけではありません。

文字コードポイントUTF-8(16進数)

表は先頭80コードポイントまで表示します。

2. 同じバイト列を違う方式で読む

下のバイト列はUTF-8で生成します。読み取り方式をShift_JISにすると、同じデータでも文字が変わります。

「�」は読めない部分を置き換える文字です。置換で情報が失われると、文字化けした文字列だけから完全に戻せない場合があります。ここでは元のバイト列を残しているため、UTF-8へ戻して確認できます。