diff --git a/modules/ANSUtilities/ANSUtilities.cpp b/modules/ANSUtilities/ANSUtilities.cpp index fd7ceb1..2c47659 100644 --- a/modules/ANSUtilities/ANSUtilities.cpp +++ b/modules/ANSUtilities/ANSUtilities.cpp @@ -1122,6 +1122,16 @@ namespace ANSCENTER std::string ANSUtilities::UnescapeDoubleEscapedUnicode(const std::string& str) { if (str.empty()) return ""; + // Quick scan: if no \\u pattern exists, return original string unchanged + bool found = false; + for (size_t i = 0; i + 2 < str.size(); i++) { + if (str[i] == '\\' && str[i + 1] == '\\' && str[i + 2] == 'u') { + found = true; + break; + } + } + if (!found) return str; + std::string result; result.reserve(str.size()); for (size_t i = 0; i < str.size(); i++) {