Lines Matching defs:utf8
101 size_t EncodeUTF8(uint32_t codepoint, uint8_t* utf8, size_t len, size_t index)
109 utf8[index + j] = cont;
112 utf8[index] = codepoint | firstByteMark[size];
354 static inline size_t FixUtf8Len(const uint8_t* utf8, size_t utf8Len)
357 if (utf8Len >= 1 && utf8[utf8Len - 1] >= 0xC0) {
361 if (utf8Len >= CONST_2 && utf8[utf8Len - CONST_2] >= 0xE0) {
365 if (utf8Len >= CONST_3 && utf8[utf8Len - CONST_3] >= 0xF0) {
372 size_t Utf8ToUtf16Size(const uint8_t *utf8, size_t utf8Len)
374 size_t safeUtf8Len = FixUtf8Len(utf8, utf8Len);
378 uint8_t src = utf8[in_pos];
381 const uint8_t c2 = utf8[++in_pos];
382 const uint8_t c3 = utf8[++in_pos];
383 const uint8_t c4 = utf8[++in_pos];
409 } while (in_pos < safeUtf8Len && utf8[in_pos] < 0x80);
493 std::pair<int32_t, size_t> ConvertUtf8ToUnicodeChar(const uint8_t *utf8, size_t maxLen)
498 Span<const uint8_t> sp(utf8, maxLen);