全般的におかしいので指摘を残しておきます Unicode には BMP (Basic Multilingual Plane) という概念があって https://ja.wikipedia.org/wiki/%E5%9F%BA%E6%9C%AC%E5%A4%9A%E8%A8%80%E8%AA%9E%E9%9D%A2 これは UNICODE 3.0 までで追加された「よく使うであろう」文字のセットのことで BMPは「文字のセット」ではありません。Basic Multilingual Planeという言葉の通り、面すなわち領域のことです。 BMPへの追加は今でも行われており、Unicode3.0までがBMP、それ以降が追加面、という区別の仕方は誤りです。 BMP にある文字は UTF-8 エンコーディングでは 3byte となります。 BMP 外の文字は UTF-8 エンコーディングで 4byt
![utf8mb4は誰がどこで決めた仕様?](https://cdn-ak-scissors.b.st-hatena.com/image/square/f6bc393cd0b6bd2196935e603c5d031bd6ca6699/height=288;version=1;width=512/https%3A%2F%2Fcdn.sstatic.net%2FSites%2Fja%2FImg%2Fapple-touch-icon%402.png%3Fv%3D1cfb10b305ca)