Tecnología

Inicio

Urlencode y caracteres especiales en PHP

Urlencode y caracteres especiales en PHP


La información transmitida por los ordenadores se codifica de muchas maneras diferentes. Las cartas que leí en un navegador web, por ejemplo, a menudo se pasan a través de muchas formas diferentes. El lenguaje Hypertext Preprocessor (PHP) es compatible con una función especial que convierte los caracteres detrás de las escenas, para la transmisión de acuerdo con los estándares de Internet.

Caracteres especiales

La función urlencode PHP acepta una entrada de un código estándar estándar para el intercambio de información (ASCII) cadena de caracteres y la convierte en uno que cumpla con el tipo de datos de aplicación /-urlencoded www-form-x Multipurpose Internet Mail Exchange (MIME). En este tipo de datos, letras y números se mantienen, al igual que el '-' '.', '_', Y caracteres. Todos los otros caracteres especiales se convierten en ASCII a hexadecimal. Este es el mismo formato en el que sitios web aceptan datos de caracteres. Con la función urlencode, los espacios son codificados como signos más.

hexadecimal

Hexadecimal es el camino de la notación de los valores numéricos de base 16. Además de los números 0-9, se trata de las letras A a F. A es equivalente a 10 en decimal, B a 11, y así sucesivamente. Por lo tanto, 10 en hexadecimal es igual a 16 en decimal. Hexadecimal se utiliza ampliamente en informática, para mostrar fácilmente grandes números en un menor número de bytes. Cada uno de los caracteres ASCII tiene un número correspondiente, que a menudo está representado en hexadecimal. Por ejemplo, el asterisco () tiene un número decimal de 42, lo que sería un hexadecimal de 2A (2 16 = 32, además de 10).

URL de codificación

Si guarda una URL como una variable estándar, se puede pasar a la función urlencode para convertir rápidamente sus caracteres especiales en hexadecimal. Por ejemplo, $ amigos = '' http://www.friendster.com/ almacena la URL Friendster en los $ amigos variable. Entonces, friencode $ = urlencode ($ amigos) almacena la URL urlencoded en la variable $ friencode. En este caso, los únicos personajes convertidos serían el colon y forwardslashes. La dirección URL codificada se vería así: http% 3A% 2F% 2F% 2Fwww.friendster.com. La función comienza urlencode cualquier carácter codificado con el símbolo de porcentaje.

rawurlencode

La función urlencode está estrechamente relacionada con la función rawurlencode. Ambas funciones se basan en diferentes normas, establecidas por la Internet Engineering Task Force (IETF). Una de las principales diferencias es que la función rawurlencode codifica espacios como% 20, en lugar de símbolos como más. Además, el rawurlencode no convierte el carácter de tilde (~). Tanto urlencode y rawurlencode tienen funciones de decodificación correspondientes (urldecode y rawurldecode), para convertir de nuevo a ASCII.