В этом нет ничего запутанного. Он просто закодирован, поэтому его можно переносить в строке JavaScript, не нарушая ее.
В строках JavaScript вы можете использовать escape-последовательности для представления символов: \xFF
для кодирования символа ISO-8859-1 и \uFFFF
для кодирования символа Unicode . Например, \x3d
- это знак равенства =
, \u003C
- это символ меньше чем <
(внутренне все строки JavaScript имеют Unicode).
У вас есть два литерала объектов, которые можно использовать для создания реальных объектов. Попробуйте на консоли JavaScript.
var test = {
e: "tGj0TZ-XLaXh0QGyw7nuDA",
c: 1,
u: "http://www.google.com/s?hl\x3des\x26xhr\x3dt\x26q\x3dque\x26cp\x3d3\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\x3daee70eb115de80e6\x26biw\x3d1440\x26bih\x3d653\x26tch\x3d1\x26ech\x3d4\x26psi\x3dWWb0TYasBu_q0QGW5IjmAg.1307862617656.1",
d: "[\x22que\x22,[[\x22que\x22,0,\x220\x22],[\x22que\\u003Cb\\u003E es el amor\\u003C\\/b\\u003E\x22,0,\x221\x22],[\x22que\\u003Cb\\u003Epasa\\u003C\\/b\\u003E\x22,0,\x222\x22],[\x22que\\u003Cb\\u003E me dices\\u003C\\/b\\u003E\x22,0,\x223\x22],[\x22que\\u003Cb\\u003E significa mi nombre\\u003C\\/b\\u003E\x22,0,\x224\x22]],{}]"
};
console.dir(test);
выходов (в Google Chrome)
Object
c: 1
d: "["que",[["que",0,"0"],["que\u003Cb\u003E es el amor\u003C\/b\u003E",0,"1"],["que\u003Cb\u003Epasa\u003C\/b\u003E",0,"2"],["que\u003Cb\u003E me dices\u003C\/b\u003E",0,"3"],["que\u003Cb\u003E significa mi nombre\u003C\/b\u003E",0,"4"]],{}]"
e: "tGj0TZ-XLaXh0QGyw7nuDA"
u: "http://www.google.com/s?hl=es&xhr=t&q=que&cp=3&pf=p&sclient=psy&source=hp&aq=&aqi=&aql=&oq=&pbx=1&bav=on.2,or.r_gc.r_pw.&fp=aee70eb115de80e6&biw=1440&bih=653&tch=1&ech=4&psi=WWb0TYasBu_q0QGW5IjmAg.1307862617656.1"
__proto__: Object
Вы можете продолжить:
console.dir( eval(test.d) );