From dedd860d408f1683fa1414dbb53b4f666dfa3db5 Mon Sep 17 00:00:00 2001 From: Jonathan Li Date: Tue, 23 Mar 2021 23:34:16 +0000 Subject: [PATCH] windows: Add utf-16 to utf-8 conversion function --- common/include/PluginCompatibility.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/common/include/PluginCompatibility.h b/common/include/PluginCompatibility.h index cbbeadb97f..2507c73470 100644 --- a/common/include/PluginCompatibility.h +++ b/common/include/PluginCompatibility.h @@ -22,6 +22,14 @@ #include #ifdef _WIN32 +inline std::string convert_utf16_to_utf8(const std::wstring& utf16_string) +{ + const int size = WideCharToMultiByte(CP_UTF8, 0, utf16_string.c_str(), utf16_string.size(), nullptr, 0, nullptr, nullptr); + std::string converted_string(size, 0); + WideCharToMultiByte(CP_UTF8, 0, utf16_string.c_str(), utf16_string.size(), converted_string.data(), converted_string.size(), nullptr, nullptr); + return converted_string; +} + inline std::wstring convert_utf8_to_utf16(const std::string &utf8_string) { int size = MultiByteToWideChar(CP_UTF8, 0, utf8_string.c_str(), -1, nullptr, 0);