respectively. In Japan especially, UTF-8 encoding without a BOM is sometimes called "UTF-8N". In Windows, UTF-8 is codepage 65001 (i.e. CP_UTF8 in source code). In MySQL, UTF-8 is called utf8mb4 (utf8mb3, and its alias utf8, is there a subset encoding). In HP PCL, UTF-8 is called Symbol-ID "18N". Encoding UTF-8 encodes code points in one to four bytes, depending on the value of the code point. In the following table, the characters are replaced by the bits of the code point: The first 128 code points (ASCII) need one byte. The next 1,920 code points need two bytes to encode, which covers the remainder of almost all Latin-script alphabets, and also IPA extensions, Greek, Cyrillic, Coptic, Armenian, Hebrew, Arabic, Syriac, Thaana and N'Ko alphabets, as well as Combining Diacritical Marks. Three bytes are needed for the rest of the Basic Multilingual Plane (BMP), which contains virtually all code points in common use, including most Chinese, Japanese and Korean characters. Four bytes are needed for code points in the other planes of Unicode, which include less common CJK characters, various historic scripts, mathematical symbols, and emoji (pictographic symbols). A "character" can take more than 4 bytes because it is made of more than one code point. For instance a national flag character takes 8 bytes since it's "constructed from a pair of Unicode scalar values" both from outside the BMP. Examples Consider the encoding of the euro sign, €: The Unicode code point for € is U+20AC. As this code point lies between U+0800 and U+FFFF, this will take three bytes to encode. Hexadecimal is binary . The two leading zeros are added because a three-byte encoding needs exactly sixteen bits from the code point. Because the encoding will be three bytes long, its leading byte starts with three 1s, then a 0 () The four most significant bits of the code point are stored in the remaining low order four bits of this byte (), leaving 12 bits of the code point yet to be encoded (). All continuation bytes contain exactly six bits from the code point. So the next six bits of the code point are stored in the low order six bits of the next byte, and is stored in the high order two bits to mark it as a continuation byte (so ). Finally the last six bits of the code point are stored in the