std::string utf16ToUtf8(const StringPiece16& utf16) { ssize_t utf8Length = utf16_to_utf8_length(utf16.data(), utf16.length()); if (utf8Length <= 0) { return {}; } std::string utf8; utf8.resize(utf8Length); utf16_to_utf8(utf16.data(), utf16.length(), &*utf8.begin()); return utf8; }
StringPiece16 trimWhitespace(const StringPiece16& str) { if (str.size() == 0 || str.data() == nullptr) { return str; } const char16_t* start = str.data(); const char16_t* end = str.data() + str.length(); while (start != end && util::isspace16(*start)) { start++; } while (end != start && util::isspace16(*(end - 1))) { end--; } return StringPiece16(start, end - start); }