| 184 | |
| 185 | return std::make_pair(buffer.data(), buffer.size()); |
| 186 | } |
| 187 | |
| 188 | std::pair<const char16_t*, size_t> utf8ToUtf16(const char* utf8String, size_t len) { |
| 189 | thread_local static std::vector<char16_t> tBuffer; |
| 190 | auto& buffer = tBuffer; |
| 191 | buffer.clear(); |
| 192 | |
| 193 | for (std::string::size_type i = 0; i < len;) { |
| 194 | utf16Encode(utf8Decode(utf8String, i, len), buffer); |
| 195 | } |
| 196 | |
| 197 | return std::make_pair(buffer.data(), buffer.size()); |
| 198 | } |
| 199 |