При передаче запроса URL допустимыми являются только символы латинских букв и некоторые знаки препинания (см. 4.2.7). Остальные символы представляется в кодировке Unicode UTF-8, причем перед каждым байтом символа ставится знак "%".
Функция
escape(строка)
возвращает шестнадцатеричное значение кода аргумента по следующему алгоритму: если код символа £ 127, то если символ – латинская буква или цифра, возвращается значение символа, иначе – код символа в виде %nn, где nn – шестнадцатеричный код символа; если код символа > 127, то возвращается код символа в виде %unnnn, где nnnn – шестнадцатеричный код символа в кодировке Unicode.
Функция
unescape(строка)
восстанавливает строку, закодированную с помощью метода escape().
Пример 4.4.45. Кодирование и декодирование с использованием функций объекта Global:
// Параметры запроса
parmRequest = "name=Иванов И.И.&pass=stud1";
// Кодировка параметров запроса
encodedParm = escape(parmRequest);
// Вывод кодированного запроса
alert("encodedParm='" + encodedParm + "'");
// Декодировка параметров запроса
decodedParm = unescape(encodedParm);
// Вывод декодированного запроса
alert("decodedParm='" + decodedParm + "'");
Вывод этого фрагмента сценария будет иметь следующий вид: