UTF8
Provides UTF-8 aware string functions implemented in pure lua:
- string.utf8len(s)
- string.utf8sub(s, i, j)
- string.utf8reverse(s)
If utf8data.lua (containing the lower<->upper case mappings) is loaded, these additional functions are available:
- string.utf8upper(s)
- string.utf8lower(s)
All functions behave as their non UTF-8 aware counterparts with the exception that UTF-8 characters are used instead of bytes for all units.
string.utf8reverse(s) doesn't work, always produces errors.
By tracing, I found the cause:
shoud be
c = strbyte(s, pos)