Коллеги, UTF-8 можно парсить полностью забив на его содержание.
Просто считать все отрицательные байты видимыми символами и все.
Даже последовательности байт можно не разбирать.
Пишите лексер так, будто это и не UTF-8 вовсе. Все будет прекрасно работать.