Ajax响应中的奇怪字符


Strange characters in Ajax response

我从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&

我认为你应该试试这个函数utf8_decode