Hay varias formas de codificar cadenas de URL en JavaScript: Escape (), CodeRi () y CodeuricOponent (). Los roles de estas codificaciones varían.
Método de escape ():
La cadena especificada se codifica utilizando el conjunto de caracteres ISO Latin. Todos los personajes espaciales, signos de puntuación, caracteres especiales y otros caracteres no ASCII se convertirán en una codificación de caracteres %xx de formato (xx es igual al número hexadecimal codificado en la tabla de conjuntos de caracteres). Por ejemplo, la codificación correspondiente del carácter espacial es %20.
Personajes que no serán codificados por este método: @ * / +
Método Codeuri ():
Convierta las cadenas URI en cadenas de formato de escape en formato de codificación UTF-8.
Personajes que no estarán codificados por este método:! @ # $ & * () =: /; ? + '
Método CodeRiComponent ():
Convierta las cadenas URI en cadenas de formato de escape en formato de codificación UTF-8. En comparación con Codeuri (), este método codificará más caracteres, como / etc., por lo tanto, si la cadena contiene varias partes del URI, este método no se puede usar para codificarlo; de lo contrario, la URL mostrará un error después de que se codifique el / carácter.
Personajes que no estarán codificados por este método:! * () '
Por lo tanto, para las cadenas chinas, si no desea convertir el formato de codificación de cadena en formato UTF-8 (por ejemplo, cuando el charset de la página original y la página de destino son los mismos), solo necesita usar Escape. Si su página es GB2312 u otra codificación, y la página que acepta los parámetros es la codificación UTF-8, debe usar Encodeuri o CodeRiComponent.
Además, se introdujo Codeuri/Codeuricomponent después de JavaScript 1.5, mientras que el escape estaba disponible en la versión JavaScript 1.0.