std::string UTF16ToUTF8(const std::wstring& input) { std::string result = CodeToUTF8("UTF-16LE", input); // TODO: why is this needed? result.erase(std::remove(result.begin(), result.end(), 0x00), result.end()); return result; }
std::string SHIFTJISToUTF8(const std::string& input) { //return CodeToUTF8("CP932", input); return CodeToUTF8("SJIS", input); }
std::string UTF16ToUTF8(const std::u16string& input) { return CodeToUTF8("UTF-16LE", input); }
std::string CP1252ToUTF8(const std::string& input) { //return CodeToUTF8("CP1252//TRANSLIT", input); //return CodeToUTF8("CP1252//IGNORE", input); return CodeToUTF8("CP1252", input); }
std::string UTF16BEToUTF8(const char16_t* str, size_t max_size) { const char16_t* str_end = std::find(str, str + max_size, '\0'); return CodeToUTF8("UTF-16BE", std::u16string(str, static_cast<size_t>(str_end - str))); }