UTF-8 の変更点


#author("2023-02-22T09:51:58+09:00","default:k1rou","k1rou")
#author("2023-02-22T09:52:39+09:00","default:k1rou","k1rou")
*UTF-8 とは [#u11cb6aa]
-[[符号化]]形式の[[文字コード]]
-符号化文字集合である[[Unicode]]に準拠している。
-[[ASCII]]文字 + 世界中の文字

*文字のサイズ [#m904f698]
-文字の種類によってサイズが異なる
-[[ASCII]]は、1バイトで"0"から始まる
-[[ASCII]]以外は、2バイト以上で"11"から始まる

**1バイト文字 [#x68d9e46]
-1バイト
--文字種
---[[ASCII]]文字
--バイト列:
---1バイト目:[00~7F]
--有効ビット:7bit
---1バイト目:[0] + [0000000~1111111]

**2バイト以上の文字 [#me001bf5]
***2バイト [#ade8bd24]
--文字種
---[[JIS X 0208]]:非漢字の一部
---[[JIS X 0212]]:非漢字の一部
---[[JIS X 0213]]:非漢字の一部
--バイト列:
---1バイト目:[C2~DF]
---2バイト目:[80~BF]
--有効ビット:11bit
---1バイト目:[100] + [00010~11111]
---2バイト目:[10] + [000000~111111]

***3バイト [#a963a7c1]
--文字種
---[[JIS X 0208]]:非漢字の一部以外 ※[[JIS C 6226]]
---[[JIS X 0212]]:非漢字の一部以外
---[[JIS X 0213]]:ほぼ全て:全角(漢字、かな、カナ)、半角カナ ※[[Shift-JIS]]-2004
--バイト列:
---1バイト目:[E0~EF]
---2バイト目:[80~BF]
---3バイト目:[80~BF]
--有効ビット:16bit
---1バイト目:[1110] + [0000~1111]
---2バイト目:[10] + [100000~111111]
---3バイト目:[10] + [000000~111111]

***4バイト [#e5b5fb69]
--文字種
---[[JIS X 0213]]:第3・第4水準漢字の一部
--バイト列:
---1バイト目:[F0~F7]
---2バイト目:[80~BF]
---3バイト目:[80~BF]
---4バイト目:[80~BF]
--有効ビット:21bit
---1バイト目:[11110] + [000~111]
---2バイト目:[10] + [010000~111111]
---3バイト目:[10] + [000000~111111]
---4バイト目:[10] + [000000~111111]

*BOM(バイト順マーク) [#w02b4827]
-ファイルの先頭に付加するデータ。
-0xEF + 0xBB + 0xBF
-EF + BB + BF
---1バイト目:[1110] + [1111]
---2バイト目:[1011] + [1011]
---3バイト目:[1011] + [1111]

*MySQL [#m21e20c1]
-utf8mb4

*関連用語 [#j0f61f7e]
-[[ASCIIコード]]
-[[UTF-16]]
-[[Shift-JIS]]