JS в ПХП или перл
добрый вечер!
вот эту строку в PHP или Perl кто-то может перевести? edata = edata + String[fromCharCode](data['data'][charCodeAt](i) ^ key[charCodeAt](i % key[length])) edata,key,i - переменные data - И массив И переменная подозреваю, что читабельно она выглядит так: String.fromCharCode(data['data'].charCodeAt(i) ^ key.charCodeAt(i % key.length)) эта строка в цикле: for (var i = 0; i < data['data'].length; i++) {} а цикл в условии: if ('data' in data) {} |
Цитата:
И что за переменные fromCharCode, charCodeAt, length? |
Цитата:
эта строка в цикле: for (var i = 0; i < data['data'].length; i++) {} а цикл в условии: if ('data' in data) {} http://javascript.ru/String/charCodeAt http://javascript.ru/String.fromCharCode про length не знаешь? :blink: key[charCodeAt](i % key[length]) эта строка например читается так: key.charCodeAt(i % key.length) в остальных просто не уверен, как правильно будет, поэтому оставляю профи как-то так наверное: String.fromCharCode(data['data'].charCodeAt(i) ^ key.charCodeAt(i % key.length)) |
Цитата:
|
$edata = ''; $data = array('data' => '123'); $key = 'key'; for ($i = 0; $i < 5; $i++) { $edata = $edata . chr(ord($data['data'][$i]) ^ ord($key[$i % strlen($key)])); } echo $edata; Этот код выдает ZWJke Проверим: var edata = ''; var data = {data: '123'}; var key = 'key'; for (var i = 0; i < 5; i++) { edata = edata + String.fromCharCode(data['data'].charCodeAt(i) ^ key.charCodeAt(i % key.length)); } alert(edata); |
Цитата:
но результат нужный не даёт :-E спасибо |
Цитата:
|
ну data это такого вида код:
Цитата:
тот цикл перебирает его побайтово и результат складывает в строку, на которой JS делает: edata = decodeURIComponent(edata); и получаем читаемую строку но строка должна иметь подобие читаемой ещё ДО unescape по идее |
Дык у тебя в строке unicode последловательноси (\uxxxx). Такого нет в PHP. Прогони строку через json_decode() .
|
я делаю так
сам json у меня в файле Цитата:
Цитата:
Цитата:
|
Видимо результат декодирования - ассоциативный массив, а не объект.
Пробуй $obj['data'] |
так вообще пустышка, ничего нет
и echo $l ничего не выводит |
Ну тогда учись дебажить php скрипты. IDE'шка есть? Если есть, запусти в ней отладчик. Если нет, var_dump в помощь
|
да я вообще-то на перле неск.лет
пхп щас вот начал изучать тока |
Все-таки json_decode должна вернуть объект, а не массив. Вызови json_last_error(), если в json была ошибка, эта функция вернет код, отличный от нуля.
Коды смотри тут: http://php.net/manual/ru/function.json-last-error.php |
так написал:
Цитата:
а через echo json_last_error (); выдаёт 4 насчёт ассоциативного массива, ну в json он и есть, по идее, там же ключ = значение и там 2 таких ключа: data и key но вообще работать должно так, как написано |
Ну ты чем читаешь, то? Я же написал - если код не 0, то это ошибка. Ссылку на коды дал. у тебя ошибка JSON_ERROR_SYNTAX. Ищи эту ошибку.
|
по той ссылке цифр нет, там "JSON_ERROR_NONE" такого вида
заработало оно косяк был в том, что переносы строки в файле были спасибо тебе бро за все советы :victory: в карму закинул |
Часовой пояс GMT +3, время: 11:50. |