Skip to content
Permalink
Browse files
Merge pull request #6188 from JosJuice/stringutil-cleanup
StringUtil cleanup
  • Loading branch information
leoetlino committed Nov 11, 2017
2 parents 1e24a5f + 2c10ba9 commit 9a2745a
Showing 1 changed file with 6 additions and 23 deletions.
@@ -410,24 +410,6 @@ void StringPopBackIf(std::string* s, char c)

#ifdef _WIN32

std::string UTF16ToUTF8(const std::wstring& input)
{
auto const size = WideCharToMultiByte(CP_UTF8, 0, input.data(), static_cast<int>(input.size()),
nullptr, 0, nullptr, nullptr);

std::string output;
output.resize(size);

if (size == 0 ||
size != WideCharToMultiByte(CP_UTF8, 0, input.data(), static_cast<int>(input.size()),
&output[0], static_cast<int>(output.size()), nullptr, nullptr))
{
output.clear();
}

return output;
}

std::wstring CPToUTF16(u32 code_page, const std::string& input)
{
auto const size =
@@ -470,6 +452,11 @@ std::wstring UTF8ToUTF16(const std::string& input)
return CPToUTF16(CP_UTF8, input);
}

std::string UTF16ToUTF8(const std::wstring& input)
{
return UTF16ToCP(CP_UTF8, input);
}

std::string SHIFTJISToUTF8(const std::string& input)
{
return UTF16ToUTF8(CPToUTF16(CODEPAGE_SHIFT_JIS, input));
@@ -569,11 +556,7 @@ std::string UTF8ToSHIFTJIS(const std::string& input)

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;
return CodeToUTF8("UTF-16LE", input);
}

#endif

0 comments on commit 9a2745a

Please sign in to comment.