У меня есть строка UTF-8 как char*
.Чтобы получить свойство один байт на символ (и, таким образом, иметь произвольный доступ к строке с помощью символьных индексов), я в настоящее время просто удаляю из него все байты продолжения UTF-8 (я хотел бы избежать "правильного"преобразование в статическое представление ширины байта).
Вместо удаления всех байтов продолжения я хотел бы иметь возможность проверить, является ли данный многобайтовый символ UTF-8 буквенно-цифровым (или нет), а затем заменить его насоответствующий символ ASCII (скажем, a
для буквенно-цифровых символов и .
в противном случае).Как мне это сделать?