character literal in C++

There are five kinds of character literals:
* Ordinary character literals of type char, for example 'a'
* UTF-8 character literals of type char (char8_t in C++20), for example u8'a'
* Wide-character literals of type wchar_t, for example L'a'
* UTF-16 character literals of type char16_t, for example u'a'
* UTF-32 character literals of type char32_t, for example U'a'