php - Ajax 响应中的奇怪字符

标签 php javascript

我从 Web 服务收到 Ajax 响应,但我不确定字符是什么。我需要将它们转换为对应的 ASCII/UTF-8,但我不知道从哪里开始。

一些字符的示例是:

\x3d1
\x26pf
\x3dp
\x26s
\x3dpsy
\x26

原始 JSON 响应来自 Google Suggest:

{e:"-5vsTZHOF8yo8QPK1YisAQ",c:1,u:"http://www.google.co.uk/s?hl\x3den\x26pq\x3dbbc\x26xhr\x3dt\x26q\x3dc\x26cp\x3d1\x26pf\x3dp\x26sclient\x3dpsy\x26source\x3dhp\x26aq\x3d\x26aqi\x3d\x26aql\x3d\x26oq\x3d\x26pbx\x3d1\x26bav\x3don.2,or.r_gc.r_pw.\x26fp\x3d10b19ece71d55c8f\x26biw\x3d1280\x26bih\x3d554\x26tch\x3d1\x26ech\x3d1\x26psi\x3dv5vsTd78IMKvhQez9fCmCA.1307352340620.1",d:"[\x22c\x22,[[\x22c\\u003Cb\\u003Eurrys\\u003C\\/b\\u003E\x22,0,\x220\x22],[\x22c\\u003Cb\\u003Eomet\\u003C\\/b\\u003E\x22,0,\x221\x22],[\x22c\\u003Cb\\u003Ebbc\\u003C\\/b\\u003E\x22,0,\x222\x22],[\x22c\\u003Cb\\u003Eineworld\\u003C\\/b\\u003E\x22,0,\x223\x22],[\x22c\\u003Cb\\u003Earphone warehouse\\u003C\\/b\\u003E\x22,0,\x224\x22]],{j:1}]"}/*""*/{e:"-5vsTZHOF8yo8QPK1YisAQ",c:0,u:"http://www.google.co.uk/s?hl\x3den\x26pq\x3dbbc\x26xhr\x3dt\x26q\x3dc\x26cp\x3d1\x26pf\x3dp\x26sclient\x3dpsy\x26source\x3dhp\x26aq\x3d\x26aqi\x3d\x26aql\x3d\x26oq\x3d\x26pbx\x3d1\x26bav\x3don.2,or.r_gc.r_pw.\x26fp\x3d10b19ece71d55c8f\x26biw\x3d1280\x26bih\x3d554\x26tch\x3d1\x26ech\x3d1\x26psi\x3dv5vsTd78IMKvhQez9fCmCA.1307352340620.1",d:""}/*""*/

最佳答案

这看起来像 URL 编码字符。通常你不需要转换任何东西。例如,如果您从 AJAX 调用中获得以下字符串:

var x = '\x3d1\x26pf\x3dp\x26s\x3dpsy\x26';

如果你尝试打印它:

alert(x);

它应该显示正确的值:

=1&pf=p&s=psy&

关于php - Ajax 响应中的奇怪字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6249951/

相关文章:

php - 计算起点半径内位置的最佳方法

javascript - 在两个 Canvas 之间复制会导致模糊

javascript - 显示与其他 div 的属性匹配的 div 值

javascript - JS变量到PHP

PHP 扩展 - 从另一个 PHP 函数调用您自己的 PHP 函数

php - Doctrine - 查询相关实体的条件

php - 数据库结构,Eav模型,搜索查询太慢

php - Symfony 使用自定义 optgroup 形成实体类型

javascript - 装饰器或子类化是 React.Component 的最佳模式

javascript - 使用 jquery 在 <sup>®</sup> 中包装 HTML 文档中的所有 ® 字符