Я хочу сопоставить регулярные выражения с использованием библиотеки pcre2
. Я использую шаблоны регулярных выражений из OWASP
10 лучших конфигурационных файлов атаки. Некоторые из этих шаблонов содержат символы non-ASCII
. Пример:'''`. Поэтому я подумал об использовании кодировки UTF8. Шаблоны кодируются в UTF8, но кодирование для предметной строки не может быть предсказано. Строка субъекта - это данные, полученные функцией сокета recv (), и, следовательно, клиент / узел может быть любым, и, следовательно, мы не знаем кодировку строки субъекта. Эта строка также может содержать символы не ASCII.
Как правильно выполнить сопоставление? Как я должен кодировать строку темы перед передачей ее в функцию pcre2_match ()?
Исследование: я сталкивался с libiconv
, но, поскольку я не знаю исходную кодировку, следовательно, не мог ее использовать. Я также изучаю код безопасности, как они это сделали, но сейчас мне не повезло.
Платформа / Язык: Linux, Cpp