| 124 | } |
| 125 | |
| 126 | TStringBuf SubstrUTF8(const TStringBuf str Y_LIFETIME_BOUND, size_t pos, size_t len) { |
| 127 | const char* start = SkipUTF8Chars(str.begin(), str.end(), pos); |
| 128 | const char* end = SkipUTF8Chars(start, str.end(), len); |
| 129 | return TStringBuf(start, end - start); |
| 130 | } |
| 131 | |
| 132 | EUTF8Detect UTF8Detect(const char* s, size_t len) { |
| 133 | const unsigned char* s0 = (const unsigned char*)s; |