Мне нужно сгенерировать «случайный» 128-байтовый ключ (сила случайности в данный момент не важна). Я делаю это в JavaScript, с помощью следующего кода:Различается ли кодировка символов в Javascript и PHP?
var buffer = "";
for(var i=0; i<128; i++)
{
buffer += String.fromCharCode(Math.round(Math.random()*255));
}
Однако, когда я отправить этот ключ в PHP скрипт через POST, я считаю, что некоторые символы в моем ключе не имеют ту же кодировку! Например, когда я вывожу кодировку ò в Javascript, я получаю 254, но тот же символ имеет кодировку 195 в PHP.
Некоторые символы, такие как A-Z, a-z и 0-9, имеют одинаковую кодировку как в Javascript, так и в PHP.
Для вывода кодов символов я использую метод .charCodeAt() Javascript и функцию ord() PHP.
Я надеялся, что кто-то может объяснить мне, почему кодировки символов различаются. Спасибо!
Если вам не нужно 255 различных символов , '127' должно быть проще всего работать из-за представления PHP о символах как байтах. – alex