A source file, a text file, and a terminal may not use the same multibyte encoding. Text that works in one environment can therefore cause trouble when moved to another. UTF-8 is one of Unicode’s three widely used transformation formats; the others are UTF-16 and UTF-32. section 14.3
Requesting UTF-8 in C
Since C11, u8"text" is a UTF-8 string literal with type char[]. Compare u"text" and U"text", whose types are char16_t[] and char32_t[]. The u8 prefix is useful when an encoding must be ensured, for example in network communication. section 14.3
TAKEAWAY: A modern platform’s ordinary multibyte encoding may already be UTF-8, but do not assume every environment uses it. The u8 prefix states the intended encoding without relying on the locale. section 14.3










