Python's Archiver

為方便港臺同胞閱覽,Python中國特別推出簡繁體內容轉換功能

xieaotian 发表于 2008-10-16 11:31

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"'));

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.