Pull to refresh

Динамическое формирование отдельных символов Escape-последовательности

PHP *
Recovery mode
При работе с символьными объектами (управляющими последовательностями, &-сущностями, экранирующими последовательностями, мнемониками и т.д.) в моём случае Escape-последовательностями типа "\xnn", возникла необходимость их динамического формирования. Такая задача может возникнуть, например, при разборе вредоносного кода атакованного сайта.

image

Собственно проблема — не работает следующий код:

$inx = '50';
$str = "\x".$inx;
$str .= "\x51";
var_dump($str);
// выведет \x50Q

Читать дальше →
Total votes 22: ↑3 and ↓19 -16
Views 2.9K
Comments 5

Escape-последовательности и числовые нотации в PHP

OTUS corporate blog PHP *Programming *
Translation

Многие современные языки программирования поддерживают различные способы использования различных символов, таких как обычные английские латинские буквы, числа, символы, эмодзи и различные специальные символы, такие как символ новой строки или символ табуляции.

Большинство символов можно просто набрать с клавиатуры и использовать в коде PHP в их исходном виде. Например, $string = "php.watch" - это полностью допустимая строка в PHP, а $num = 42 - допустимое число. Также можно использовать многобайтные символы (для хранения которых требуется более одного байта), например, этот совершенно допустимый эмодзи: $emoji = "?".

PHP, наряду со многими другими языками программирования, поддерживает определенное количество escape-последовательностей для использования различных символов, которые не могут быть набраны с обычной клавиатуры, не могут быть представлены в текстовой форме (например, невидимые символы или различные управляющие символы) или иным образом не считываются. Эти символы используют escape-последовательности, которые распознает PHP.

Что касается чисел, PHP поддерживает стандартные десятичные числа, но также может использовать и другие нотиции, такие как двоичное, восьмеричное, шестнадцатеричное и даже научное (scientific) представление. Они могут сделать код более читаемым и понятным в зависимости от контекста.

Читать далее
Total votes 14: ↑13 and ↓1 +12
Views 6.8K
Comments 0