14#if defined(FML_OS_WIN)
18std::locale::id std::codecvt<char16_t, char, _Mbstatet>::id;
24 std::wstring_convert<std::codecvt_utf8_utf16<char16_t>,
char16_t>;
26std::string
Join(
const std::vector<std::string>& vec,
const char* delim) {
27 std::stringstream res;
28 for (
size_t i = 0;
i < vec.size(); ++
i) {
30 if (
i < vec.size() - 1) {
39 return converter.to_bytes(
string.data());
44 return converter.from_bytes(
string.data());
47std::string
PathToUtf8(
const std::filesystem::path& path) {
48 const std::u8string path_u8 = path.u8string();
49 return std::string(path_u8.begin(), path_u8.end());
std::string Utf16ToUtf8(const std::u16string_view string)
std::string PathToUtf8(const std::filesystem::path &path)
std::wstring_convert< std::codecvt_utf8_utf16< char16_t >, char16_t > Utf16StringConverter
std::u16string Utf8ToUtf16(const std::string_view string)
std::string Join(const std::vector< std::string > &vec, const char *delim)