MCPcopy Create free account
hub / github.com/UbiquitousLearning/mllm / wideString2Utf8String

Function wideString2Utf8String

mllm/preprocessor/tokenizers/Unicode.cpp:11–31  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9namespace mllm::preprocessor {
10
11std::string wideString2Utf8String(const std::wstring& wstr) {
12 std::string result;
13 for (wchar_t wc : wstr) {
14 if (wc <= 0x7FU) {
15 result.push_back(static_cast<char>(wc));
16 } else if (wc <= 0x7FFU) {
17 result.push_back(static_cast<char>(0xC0U | ((wc >> 6U) & 0x1FU)));
18 result.push_back(static_cast<char>(0x80U | (wc & 0x3FU)));
19 } else if (wc <= 0xFFFFU) {
20 result.push_back(static_cast<char>(0xE0U | ((wc >> 12U) & 0x0FU)));
21 result.push_back(static_cast<char>(0x80U | ((wc >> 6U) & 0x3FU)));
22 result.push_back(static_cast<char>(0x80U | (wc & 0x3FU)));
23 } else if (wc <= 0x10FFFFU) {
24 result.push_back(static_cast<char>(0xF0U | ((wc >> 18U) & 0x07U)));
25 result.push_back(static_cast<char>(0x80U | ((wc >> 12U) & 0x3FU)));
26 result.push_back(static_cast<char>(0x80U | ((wc >> 6U) & 0x3FU)));
27 result.push_back(static_cast<char>(0x80U | (wc & 0x3FU)));
28 }
29 }
30 return result;
31}
32
33std::wstring utf8string2WideString(const std::string& str) {
34 std::wstring w_ret_string;

Callers 15

generateMethod · 0.85
generateMethod · 0.85
streamGenerateMethod · 0.85
_tokenizeMethod · 0.85
tokenizeMethod · 0.85
tokenizeMethod · 0.85
_tokenizeMethod · 0.85
tokenizeMethod · 0.85
_tokenizeMethod · 0.85
tokenizeMethod · 0.85
decodeTokensMethod · 0.85
generate_nextMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected