17 #include "absl/strings/internal/utf8.h"
21 namespace strings_internal {
24 if (utf8_char <= 0x7F) {
25 *
buffer =
static_cast<char>(utf8_char);
27 }
else if (utf8_char <= 0x7FF) {
28 buffer[1] =
static_cast<char>(0x80 | (utf8_char & 0x3F));
30 buffer[0] =
static_cast<char>(0xC0 | utf8_char);
32 }
else if (utf8_char <= 0xFFFF) {
33 buffer[2] =
static_cast<char>(0x80 | (utf8_char & 0x3F));
35 buffer[1] =
static_cast<char>(0x80 | (utf8_char & 0x3F));
37 buffer[0] =
static_cast<char>(0xE0 | utf8_char);
40 buffer[3] =
static_cast<char>(0x80 | (utf8_char & 0x3F));
42 buffer[2] =
static_cast<char>(0x80 | (utf8_char & 0x3F));
44 buffer[1] =
static_cast<char>(0x80 | (utf8_char & 0x3F));
46 buffer[0] =
static_cast<char>(0xF0 | utf8_char);