Мне нужно передать некоторый код JS, который включает Math.random()*2147483648)^(new Date).getTime()
. Хотя это похоже на меньшие числа, функция python и JS-функция эквивалентны в функции, но с большими числами, подобными этому, значения в итоге совершенно разные.Разница между^Оператором в JS и Python
Python:
>>> 2147483647^1257628307380
1257075044427
Javascript:
> 2147483647^1257628307380
-1350373301
Как я могу получить значение Javascript из питона?
Лучше использовать '1 << 32' или непосредственно' 4294967296' вместо '2 ** 32'. – Gumbo
Использование 4294967296 было бы глупо - оно убивает читаемость. 2 ** 32 не является абсурдно дорогим, и он, вероятно, постоянно сложен. 1 << 32 делает так же много смысла. –
Я только что проверил, и Python 3.1 постоянные складки '2 ** 16' и' 2 ** 32'. – u0b34a0f6ae