The C and C ++ languages ββallow a huge number of latitudes in their implementations. C was written long before UTF-8 became a "way to encode text in single bytes": different systems had different text encodings.
So the byte values ββfor the string in C and C ++ really correspond to the compiler. 'A'- this is what the encoding for the compiler has chosen for the character A, which may not coincide with UTF-8.
++ , UTF-8 . u8"A"[0] ++ UTF-8, , .
, ++ 2 , , UTF-8. "hello world", u8"hello world" .
, man gcc
-fexec- =
, . UTF-8. charset , icon icon.
-finput- =
, , GCC. , GCC , UTF-8. locale, . , . charset , icon icon.
C/++.