Hay tres funciones en JavaScript que pueden codificar cadenas, a saber: escape, encodeuri, encodeuri y codeuricponent. Las tres funciones de decodificación correspondientes: Unescape, Decodeuri y Decodeuricomponent.
Aquí hay una breve introducción a sus diferencias:
1 función de escape ()
Definición y uso
La función Escape () codifica una cadena para que la cadena se pueda leer en todas las computadoras.
gramática
Escape (cadena)
Descripción del parámetro
requerido cadena. La cadena a escapar o codificar.
Valor de retorno
Una copia de la cadena codificada. Algunos de estos personajes son reemplazados por secuencias de escape hexadecimales.
ilustrar
Este método no codifica letras y números ASCII, ni los siguientes puntos de puntuación ASCII: - _. ! ~ * '(). Todos los demás personajes serán reemplazados por secuencias escapadas.
2 Función Codeuri ()
Definición y uso
La función Codeuri () puede codificar cadenas como URI.
gramática
Encodeuri (Uristring)
Descripción del parámetro
Requerido la uristring. Una cadena que contiene un URI u otro texto para ser codificado.
Valor de retorno
Una copia de Uristring, algunas de las cuales son reemplazadas por una secuencia de escape hexadecimal.
ilustrar
Este método no codifica letras y números ASCII, ni codifica estos signos de puntuación ASCII: - _. ! ~ * '().
El propósito de este método es codificar completamente el URI, por lo que la función codeuri () no escapará de los siguientes signos de puntuación ASCII con un significado especial en el URI :;/?:@& =+$,#
3 Función CodeuricOponent ()
Definición y uso
La función CodeRiComponent () puede codificar cadenas como componentes URI.
gramática
encodeuricomponent (uristring)
Descripción del parámetro
Requerido la uristring. Una cadena que contiene un componente URI u otro texto para codificar.
Valor de retorno
Una copia de Uristring, algunas de las cuales son reemplazadas por una secuencia de escape hexadecimal.
ilustrar
Este método no codifica letras y números ASCII, ni codifica estos signos de puntuación ASCII: - _. ! ~ * '().
Otros caracteres (como :;/?:@& =+$,# Estos signos de puntuación utilizados para separar los componentes de URI) se reemplazan por una o más secuencias de escape hexadecimales.
Consejos y comentarios
Consejo: Tenga en cuenta la diferencia entre la función codeuricponent () y la función codeuri (). El primero supone que sus parámetros son parte del URI (como el protocolo, el nombre de host, la ruta o la cadena de consulta). Por lo tanto, la función EncodeUricOponent () escapará de los signos de puntuación utilizados para separar las partes individuales del URI.
4 Resumen:
A través del análisis de las tres funciones, podemos saber que Escape () escapa todas las cadenas pasadas, excepto letras ASCII, números y símbolos específicos. Por lo tanto, si desea codificar la URL, es mejor no usar este método. Encodeuri () se usa para codificar todo el URI porque ninguno de los caracteres legales del URI será codificado y convertido. El método Codeuricomponent debe ser el más utilizado al codificar un solo URicomponente (refiriéndose al parámetro de solicitud). Puede escapar de los caracteres chinos y especiales en los parámetros sin afectar toda la URL.
5 Ejemplos:
1 Escape ()
<script type = "text/javaScript"> document.write (escape ("http://www.w3school.com.cn/") + "br/>") document.write (escudo ("?! = ()#%&")) </script>Producción:
http%3a // www.w3school.com.cn%3f%21%3d%28%29%23%25%26
2 Encodeuri ()
<script type = "text/javaScript"> document.write (codenEuri ("http://www.w3school.com.cn/")+ "<br />")document.write(encodeuri("http://www.w3school.com.cn/my primero/")) document.write (Codnouri (",/?:@& =+$#")) </script>Producción:
http://www.w3school.com.cn/http://www.w3school.com.cn/my%20first/,/?:@&=+$#
Toda la URL está codificada y el identificador específico de la URL no se transcodifica.
3 Encodeuricomponent ()
Ejemplo 1:
<script type = "text/javaScript"> document.Write (codeDeuricOponent ("http://www.w3school.com.cn/")) document.write ("<br />")Document.write(encodeuricomponent("htp://wwww.w3school.com.cn/p 1/") /> ") document.write (EncodeUriComponent (",/?:@& =+$#")) </script>Producción:
http%3a%2f%2fwww.w3school.com.cnhttp%3a%2f%2fwww.w3school.com.cn%2fp%201%2f%2c%2f%3f%3a%40%26%3d%2b%24%23
Ejemplo 2:
<script language = "javaScript"> document.write ('<a href = "http://passport.baidu.com/?logout&aid=7&u='+encodeuriComonent (" rel = "nofolloal" http://cang.baidu.com/bruce42")+'">exit </a>'); <script>; <script>Codifique los parámetros en la URL, porque los parámetros también son una URL, si no está codificada, afectará el salto de toda la URL.