はじめに
マルチプラットフォームで実現するため、標準関数で変換する。
ただし、最近のC++では非推奨となっています。
C++ バージョン | C++11 | C++17で非推奨 |
---|
共通
インクルードファイルは共通です。
#include <string>
#include <locale>
#include <codecvt>
std::wstring⇒std::string変換
static std::string ConvertWstringToUTF8(const std::wstring& src)
{
std::wstring_convert<std::codecvt_utf8<wchar_t> > converter;
return converter.to_bytes(src);
}
std::string⇒std::wstring変換
static std::wstring ConvertUTF8ToWstring(const std::string& src)
{
std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter;
return converter.from_bytes(src);
}