Хабы: Блог компании Московский кредитный банк, C, IT-стандарты, Алгоритмы, Программирование
Можно ли кодировать UTF-8 без ветвлений?
Да.
Вопрос
Натан Голдбаум задал в чате
Recurse вопрос:
Я знаю, как декодировать UTF-8 с помощью битовой математики и таблиц поиска (см. https://github.com/skeeto/branchless-utf8), но если я хочу преобразовать кодовую точку UTF-8, то можно ли сделать ли это без ветвлений?
Для начала, можно ли как-то написать эту функцию на C, которая возвращает количество байтов, необходимых для хранения байтов UTF-8 кодовой точки, без использования ветвления? Или для этого потребуется огромная таблица поиска?
Читать дальше →