#pragma once #include #include #include namespace XCEngine::UI::Editor::Support { inline std::string WideToUtf8(std::wstring_view text) { if (text.empty()) { return {}; } const int requiredBytes = WideCharToMultiByte( CP_UTF8, 0, text.data(), static_cast(text.size()), nullptr, 0, nullptr, nullptr); if (requiredBytes <= 0) { return {}; } std::string utf8(static_cast(requiredBytes), '\0'); const int convertedBytes = WideCharToMultiByte( CP_UTF8, 0, text.data(), static_cast(text.size()), utf8.data(), requiredBytes, nullptr, nullptr); if (convertedBytes <= 0) { return {}; } utf8.resize(static_cast(convertedBytes)); return utf8; } } // namespace XCEngine::UI::Editor::Support