97 if (codepoint_ <= 0x7f)
98 str.push_back((
char)codepoint_);
99 else if (codepoint_ <= 0x7FF) {
100 str.push_back((
char)(0xC0 | (codepoint_ >> 6)));
101 str.push_back((
char)(0x80 | (codepoint_ & 0x3F)));
102 }
else if (codepoint_ <= 0xFFFF) {
103 str.push_back((
char)(0xE0 | (codepoint_ >> 12)));
104 str.push_back((
char)(0x80 | ((codepoint_ >> 6) & 0x3F)));
105 str.push_back((
char)(0x80 | (codepoint_ & 0x3F)));
106 }
else if (codepoint_ <= 0x1FFFFF) {
107 str.push_back((
char)(0xF0 | (codepoint_ >> 18)));
108 str.push_back((
char)(0x80 | ((codepoint_ >> 12) & 0x3F)));
109 str.push_back((
char)(0x80 | ((codepoint_ >> 6) & 0x3F)));
110 str.push_back((
char)(0x80 | (codepoint_ & 0x3F)));