#include "stdafx.h" #include "UTF8Util.h" #include #include namespace utf8 { std::wstring utf8::decode(const std::string &str) { std::wstring_convert> conv; return conv.from_bytes(str); } std::string utf8::encode(const std::wstring &wstr) { std::wstring_convert> conv; return conv.to_bytes(wstr); } std::string utf8::encode(const std::u16string &wstr) { #ifdef _MSC_VER std::wstring_convert, int16_t> conv; auto p = reinterpret_cast(wstr.data()); return conv.to_bytes(p, p + wstr.size()); #else std::wstring_convert, char16_t> conv; return conv.to_bytes(wstr); #endif } }