Понимаю, вопрос тупой, но не могу понять, как это работает.
Есть строка '\xbc'. Если она в коде записана в одинарных кавычках, то PHP считает, что в ней 4 символа, а если в двойных - то один. Соответственно и обрабатываются эти строки по-разному.
Если я не создаю строковую переменную как литерал в коде, а беру из файла или GET-запроса и т. д., то функциями в PHP она обрабатывается как строка в двойных кавычках. А как сделать так, чтобы обрабатывалась как строка в одинарных кавычках?
Пример:
$str = $_GET['text']; //text == "\xbc"
echo strlen($str); //вернёт 1, а я хочу 4
Пример с strlen() упрощённый, строка может быть передана и другим функциям, не все из которых способны обработать символы юникода.
Update
Пример с '\x0a' был слишком сложным и оторванным от реальности, поэтому заменил на '\xbc'.
На python проблему можно решить так:
>>> s1 = '\xbc\xbd'
>>> s1
'¼½'
>>> len(s1)
2
>>> s2 = ascii(s1)[1:-1]
>>> s2
'\\xbc\\xbd'
>>>print(s2)
\xbc\xbd
>>> len(s2)
8
Как сделать подобное в PHP?