I’m getting console input from the user and want to encode it to UTF-8. My understanding is C++ does not have a standard encoding for input streams, and that it instead depends on the compiler, the runtime environment, localization, and what not.
How can I determine the input encoding by examining the bytes of the input?
In general, you can’t. If I shoot a stream of randomly generated bytes at your app how can it determine their “encoding”? You simply have to specify that your application accepts certain encodings, or make an assumption that what the OS hands you will be suitably encoded.