- char: 8-bit character type
 - char16_t: 16-bit character type
 - char32_t: 32-bit character type
 - wchar_t: 16 ~ 32-bit character type depending on the compiler
 - UTF-8: An encoding method that can represent Unicode characters while preserving 8-bit characters
 - UTF-16: How to encode Unicode characters using one or two 16-bit values
 - UTF-32: How to encode all Unicode characters to 32 bits
 
It is like above, but it does not understand well. Did it simply implement UTF-8, UTF-16, UTF-32 as char, char16_t, char32_t types?