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] = 0x80 | (utf8_char & 0x3F);
30 buffer[0] = 0xC0 | utf8_char;
32 }
else if (utf8_char <= 0xFFFF) {
33 buffer[2] = 0x80 | (utf8_char & 0x3F);
35 buffer[1] = 0x80 | (utf8_char & 0x3F);
37 buffer[0] = 0xE0 | utf8_char;
40 buffer[3] = 0x80 | (utf8_char & 0x3F);
42 buffer[2] = 0x80 | (utf8_char & 0x3F);
44 buffer[1] = 0x80 | (utf8_char & 0x3F);
46 buffer[0] = 0xF0 | utf8_char;