UTF-8 character and string classes designed to replace the standard C++ types