diff options
| author | Jordan Woyak <jordan.woyak@gmail.com> | 2013-03-02 19:46:55 -0600 |
|---|---|---|
| committer | Jordan Woyak <jordan.woyak@gmail.com> | 2013-03-02 20:00:36 -0600 |
| commit | 6c8adf6130b32a0ffc113f4ce30f70b9d5994f10 (patch) | |
| tree | dd0ef27543036f38b29a336682adbc3624ae8996 /Source/Core/Common/Src/StringUtil.cpp | |
| parent | 2b1af36900bcb13102690bd862246b9cc3b7d541 (diff) | |
Eliminate the wstring game name.
Some cleanup throughout related code. (try to make logic in ISOFile understandable by a human)
Encode strings in UTF-8 rather than somehow trying to determine the encoding in the GUI code.
Non-windows OSes temporarily broken.
Diffstat (limited to 'Source/Core/Common/Src/StringUtil.cpp')
| -rw-r--r-- | Source/Core/Common/Src/StringUtil.cpp | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/Source/Core/Common/Src/StringUtil.cpp b/Source/Core/Common/Src/StringUtil.cpp index 38ac107ec1..aab0f3bd58 100644 --- a/Source/Core/Common/Src/StringUtil.cpp +++ b/Source/Core/Common/Src/StringUtil.cpp @@ -395,17 +395,41 @@ std::string UTF16ToUTF8(const std::wstring& input) return output; } -std::wstring UTF8ToUTF16(const std::string& input) +std::wstring CPToUTF16(u32 code_page, const std::string& input) { - auto const size = MultiByteToWideChar(CP_UTF8, 0, input.data(), input.size(), nullptr, 0); + auto const size = MultiByteToWideChar(code_page, 0, input.data(), input.size(), nullptr, 0); std::wstring output; output.resize(size); - if (size != MultiByteToWideChar(CP_UTF8, 0, input.data(), input.size(), &output[0], output.size())) + if (size != MultiByteToWideChar(code_page, 0, input.data(), input.size(), &output[0], output.size())) output.clear(); return output; } +std::wstring UTF8ToUTF16(const std::string& input) +{ + return CPToUTF16(CP_UTF8, input); +} + +std::string SHIFTJISToUTF8(const std::string& input) +{ + return UTF16ToUTF8(CPToUTF16(932, input)); +} + +#else + +std::string UTF16ToUTF8(const std::wstring& input) +{ + // TODO: implement + return std::string(); +} + +std::string SHIFTJISToUTF8(const std::string& input) +{ + // TODO: implement + return std::string(); +} + #endif |
