aboutsummaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
authorLiam <byteslice@airmail.cc>2023-10-01 16:21:23 -0400
committerLiam <byteslice@airmail.cc>2023-10-01 19:22:08 -0400
commit890f5f8759eb9510fe49fdf5c2e80065d27f67c1 (patch)
tree6c2710b6201abeae3cae96d8e1fa1eccbe92f8ab /src/common
parent3c3b4d61f75e148b0fd95ceed3d17ed15b4f7f7b (diff)
gdbserver: use numeric character references for unicode
Diffstat (limited to 'src/common')
-rw-r--r--src/common/string_util.cpp5
-rw-r--r--src/common/string_util.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/src/common/string_util.cpp b/src/common/string_util.cpp
index feab1653df..4c7aba3f5c 100644
--- a/src/common/string_util.cpp
+++ b/src/common/string_util.cpp
@@ -135,6 +135,11 @@ std::u16string UTF8ToUTF16(std::string_view input) {
return convert.from_bytes(input.data(), input.data() + input.size());
}
+std::u32string UTF8ToUTF32(std::string_view input) {
+ std::wstring_convert<std::codecvt_utf8<char32_t>, char32_t> convert;
+ return convert.from_bytes(input.data(), input.data() + input.size());
+}
+
#ifdef _WIN32
static std::wstring CPToUTF16(u32 code_page, std::string_view input) {
const auto size =
diff --git a/src/common/string_util.h b/src/common/string_util.h
index c351f1a0c8..9da1ca4e94 100644
--- a/src/common/string_util.h
+++ b/src/common/string_util.h
@@ -38,6 +38,7 @@ bool SplitPath(const std::string& full_path, std::string* _pPath, std::string* _
[[nodiscard]] std::string UTF16ToUTF8(std::u16string_view input);
[[nodiscard]] std::u16string UTF8ToUTF16(std::string_view input);
+[[nodiscard]] std::u32string UTF8ToUTF32(std::string_view input);
#ifdef _WIN32
[[nodiscard]] std::string UTF16ToUTF8(std::wstring_view input);