unescape,json_decode另类用法

javascript有个escape函数,虽然现在已经不建议使用,但还是会碰到许多escape过的字符串需要解码。因为javascript的escape实际上是个unicode编码,要转成utf8或者其他编码是很麻烦的。php5.2内置的json扩展除了用于json以外,其实也可以用来unescape。

json / javascript里的字符串在字符串常量的表示里,也可以用u5C71这样的方式,而escape的结果里,只是把那个 换成了 % 。所以,只要用类似下面的代码就可以转换回来。而对于u5C71这种形式的编码的串,只需要在两头加上双引号,然后json_decode就可以了。

 echo json_decode(str_replace(‘%’,’\’, ‘”%u4ECE%u524D%u6709%u5EA7%u5C71″‘));

 

2 thoughts on “unescape,json_decode另类用法

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s