Есть несколько способов кодировать строки URL в JavaScript: ascop (), encodeuri () и encodeuricomponent (). Роли этих кодировки различаются.
Метод Escape ():
Указанная строка кодируется с использованием латинского набора символов ISO. Все космические символы, знаки препинания, специальные символы и другие не ASCII будут преобразованы в кодирование символов XX-формата (xx равна шестнадцатеричным числам, кодируемом в таблице набора символов). Например, соответствующее кодирование космического символа составляет %20.
Символы, которые не будут закодированы этим методом: @ * / +
Метод encodeuri ():
Превратите строки URI в строки формата побега в формате кодирования UTF-8.
Персонажи, которые не будут закодированы этим методом:! @ # $ & * () =: /; ? + '
Encodeuricomponent () Метод:
Превратите строки URI в строки формата побега в формате кодирования UTF-8. По сравнению с Encodeuri () этот метод будет кодировать больше символов, таких как / и т. Д. Следовательно, если строка содержит несколько частей URI, этот метод не может использоваться для его кодирования, в противном случае URL будет отображать ошибку после кодировки / символа / символа.
Персонажи, которые не будут закодированы этим методом:! * () '
Следовательно, для китайских строк, если вы не хотите преобразовать формат кодирования строки в формат UTF-8 (например, когда Charset исходной страницы и целевой страницы одинаковы), вам нужно только использовать Escape. Если ваша страница составляет GB2312 или другое кодирование, а страница, которая принимает параметры,-это кодирование UTF-8, вы должны использовать Encodeuri или Encodeuromomponent.
Кроме того, Encodeuri/Encodeuricomponent был введен после JavaScript 1.5, в то время как Escape был доступен в версии JavaScript 1.0.