VERY basic UTF8 parser

This commit is contained in:
udo
2022-01-28 20:23:14 +00:00
parent 939009f9a1
commit 18ca2368bc
9 changed files with 350 additions and 2 deletions
+34
View File
@@ -154,6 +154,40 @@ String join(StringList l, String delim)
return(result);
}
StringList split_utf8(String s)
{
StringList result;
auto len = s.size();
String codepoint = "";
for(s64 i = 0; i < len; i++)
{
u8 c = s[i];
if(is_bit_set(c, 7))
{
codepoint = "";
codepoint.append(1, c);
if(is_bit_set(c, 6))
{
codepoint.append(1, s[++i]);
if(is_bit_set(c, 5))
{
codepoint.append(1, s[++i]);
if(is_bit_set(c, 4))
{
codepoint.append(1, s[++i]);
}
}
}
result.push_back(codepoint);
}
else
{
result.push_back(String().append(1, c));
}
}
return(result);
}
String html_escape(String s)
{
String result;