UTF-8

2023-02-22 (水) 09:52:39

UTF-8 とは

文字のサイズ

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

1バイト文字

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

2バイト以上の文字

2バイト

  • 文字種
  • バイト列:
    • 1バイト目:[C2~DF]
    • 2バイト目:[80~BF]
  • 有効ビット:11bit
    • 1バイト目:[100] + [00010~11111]
    • 2バイト目:[10] + [000000~111111]

3バイト

  • 文字種
  • バイト列:
    • 1バイト目:[E0~EF]
    • 2バイト目:[80~BF]
    • 3バイト目:[80~BF]
  • 有効ビット:16bit
    • 1バイト目:[1110] + [0000~1111]
    • 2バイト目:[10] + [100000~111111]
    • 3バイト目:[10] + [000000~111111]

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(バイト順マーク)

  • ファイルの先頭に付加するデータ。
  • EF + BB + BF
    • 1バイト目:[1110] + [1111]
    • 2バイト目:[1011] + [1011]
    • 3バイト目:[1011] + [1111]

MySQL

  • utf8mb4

関連用語