| Boost.Nowide
    | 
#include <boost/nowide/utf8_codecvt.hpp>
std::codecvt implementation that converts between UTF-8 and UTF-16 or UTF-32
| CharSize | Determines the encoding: 2 for UTF-16, 4 for UTF-32 | 
Invalid sequences are replaced by BOOST_NOWIDE_REPLACEMENT_CHARACTER A trailing incomplete sequence will result in a return value of std::codecvt::partial
 1.8.15
 1.8.15