cpp/locale/codecvt mode

The facets std, std, and std accept an optional value of type as a template argument, which specifies optional features of the unicode string conversion.

Constants
The recognized byte order marks are:

If is not selected when reading a file beginning with byte order mark, the Unicode character U+FEFF (Zero width non-breaking space) will be read as the first character of the string content.