| 14 | #include <vector> |
| 15 | |
| 16 | size_t unicode_len_utf8(char src) { |
| 17 | const size_t lookup[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, 4 }; |
| 18 | uint8_t highbits = static_cast<uint8_t>(src) >> 4; |
| 19 | return lookup[highbits]; |
| 20 | } |
| 21 | |
| 22 | static std::string unicode_cpts_to_utf8(const std::vector<uint32_t> & cps) { |
| 23 | std::string result; |