UTF-8の文字コード表
UTF-8の文字コード表なのです。いつも検索して、よそ様のページを参照させていただいていたのですが、面倒なので自分で作りました。
perlのスクリプトでガーッと出したので、見栄えはアレですが、とりあえず。
- 1バイト文字
- 2バイト文字
- 3バイト文字
- E2 9C 80 ~ Dingbats、昔からある記号、絵文字とか
- E3 80 80 ~ 全角ひらがな・カタカナ
- EF BC 80 ~ 全角英数字、半角カナ
- 4バイト文字
- F0 9F 8C 80 ~ たぶん今どきの皆さんの言う絵文字
- F0 9F 98 80 ~ 顔文字
更新履歴
(2018-05-10 追記) コード表を全体的に再出力しました。変更点は以下の通りです。
- unicode追加面、4バイト文字の表もつくりました。
- 各文字ブロックにタイトルを付けました。英語タイトルはUnicode仕様書PDFへ直リンクしています。
表示されてないけど、どんな字なんだよ、と思ったらそっちを見てください。
各仕様書PDFの親ページはここ:https://unicode.org/charts/ - 各文字のクリックで、クリップボードにコピーできるようにしました。
自分がフォントサイズ大きいところにコピペしてじっくり眺めたかったからですが、ついでにUTF8コード、unicode、HTML用コード(&#x~)もコピペできるようになってます。 - 残念ながら、スマホ等、画面の小さい環境では見づらい表になっていると思います。
面倒なので対応していません、すみません。
4バイトのところにある楔形文字の表は、横幅のでかい文字が連続しているため、PCでも横はみ出ました。格好悪いのは承知していますが、これも面倒なので放置しています、すみません。
(2016-04-09 追記) やや雑学寄りですが、Unicodeがどんな風にUTF-8に割当てられているかのページを作成しました。
このページの最終更新日、2009-11-17でした。その頃はスルーしてたUnicodeの追加面が一般に使われているっぽい昨今、4バイト文字のページも作りたいところですね。
蛇足
ところで、文字のバイト列はどのようにして出力できたのでしょうか?
というお問い合わせをいただいたことがあります。
単に、unicode仕様の範囲内で1バイトずつ増やしながらループをまわして、1文字ずつ出力しただけです。
# 3バイト文字列なので、3重のループです。 foreach my $i (0xE0..0xEF) { foreach my $j (0x80..0xBF) { foreach my $k (0x80..0xBF) { # バイト列をUnicode(U)でパック print pack( 'U*', $i, $j, $k ); } } }
ご参考になれば幸いです。
最終更新日:2018/05/10
[ ページ先頭へ ]