Merge pull request #6188 from JosJuice/stringutil-cleanup
StringUtil cleanup
This commit is contained in:
commit
9a2745a977
|
@ -410,24 +410,6 @@ void StringPopBackIf(std::string* s, char c)
|
||||||
|
|
||||||
#ifdef _WIN32
|
#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)
|
std::wstring CPToUTF16(u32 code_page, const std::string& input)
|
||||||
{
|
{
|
||||||
auto const size =
|
auto const size =
|
||||||
|
@ -470,6 +452,11 @@ std::wstring UTF8ToUTF16(const std::string& input)
|
||||||
return CPToUTF16(CP_UTF8, 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)
|
std::string SHIFTJISToUTF8(const std::string& input)
|
||||||
{
|
{
|
||||||
return UTF16ToUTF8(CPToUTF16(CODEPAGE_SHIFT_JIS, 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 UTF16ToUTF8(const std::wstring& input)
|
||||||
{
|
{
|
||||||
std::string result = CodeToUTF8("UTF-16LE", input);
|
return CodeToUTF8("UTF-16LE", input);
|
||||||
|
|
||||||
// TODO: why is this needed?
|
|
||||||
result.erase(std::remove(result.begin(), result.end(), 0x00), result.end());
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue