Те 3-буквенный коды Управляющие коды ASCII - это ASCII символы, которые происходят до 32 (символ пробела) в наборе символов ASCII. Вы можете найти a full list online.
Эти символы не соответствуют чему-либо пригодному для печати, поэтому вы ошибаетесь при условии, что они соответствуют этим символам. Вы можете ссылаться на них как на литералы на нескольких языках, используя нотацию \x00
- например, управляющий код ETX соответствует \x03
(см. Ссылку I, связанную с выше). Вы можете использовать их для разделения строк или чего-либо еще.
Это личный ответ на ваш вопрос, но все это в стороне. Я считаю маловероятным, чтобы вы на самом деле нужно разбить файл журнала Apache по кодам управления. Угадав, что на самом деле произошло, возможно, что некоторые символы Юникода каким-то образом закрались в ваш файл журнала, возможно, с кодировкой UTF-8. Кодировка представляет собой способ представления символов, которые выходят за пределы 255 одного байта, кодируя расширенные символы с несколькими байтами.
Существует несколько типов кодирования, но UTF-8 является одним из самых популярных. Если вы используете UTF-8, у него есть свойство, что стандартные символы ASCII будут отображаться как обычно (так что вы даже никогда не понимаете, что используется UTF-8), но если вы просматриваете файл в редакторе, который не является UTF-8 (или который неправильно идентифицирует файл как обычный ASCII), тогда вы увидите эти нечетные управляющие коды. Это места, где действительно код и характер (ы) до или после него должны интерпретироваться как единое целое.
Я не уверен, что это причина, это всего лишь образованная догадка, но если вы еще не подумали об этом, важно выяснить кодировку вашего файла, так как это повлияет на то, как вы интерпретируете всего его содержания. Я предлагаю загрузить файл в редактор, который понимает кодировки (я уверен, что что-то столь же популярное, как Sublime, с надлежащей конфигурацией) и принудительно кодирует UTF-8 и видит, делает ли это контент более разумным.
Пример с ожидаемым выходом будет лучше. –
Что случилось с копированием и вставкой индекса L в regex? –
Просьба привести пример, например, образец Input и sample output. –