​Hello. I saw that JS supports the x-notation (\x40) and u-notation
(\u0040), but PHP only supports u-notation. There some reason for that?

JSON.parse('"\x40"'); // => @
JSON.parse('"\u0040"'); // => @

While PHP:

json_decode('"\\u0040"'); // => @
json_decode('"\\x40"'); // => null (Syntax error)

The json.org really don't seems doc the x-notation version, but some pages
does: http://www.javascriptkit.com/jsref/escapesequence.shtml

The same is valid to json_encode('@'), it will stringify to '\u0040'
instead of the most simplified version '\x40'.

I don't know if there are some reason for that, but I think that, at least,
is reasonable to json_decode() supports that.

-- 
David Rodrigues

Reply via email to