Colección de citas famosas - Consulta de diccionarios - Comprensión simple sin profundizar: codificación y decodificación de URL de iOS

Comprensión simple sin profundizar: codificación y decodificación de URL de iOS

En el protocolo HTTP, los parámetros se transmiten en forma de pares clave-valor "clave = valor" y "&" se utiliza entre varios parámetros. Pares clave-valor de empalme de símbolos, como "?key1=value1.key2=value2. El análisis de URL del servidor también se basa en "&" para dividir cada par clave-valor de parámetro, y "=" se usa para dividir la clave y valor en cada par clave-valor y procesar el flujo de bytes de la URL byte a byte.

El análisis anterior generará una pregunta: si el valor del parámetro en sí tiene el carácter "&", ¿qué pasa con el especial? carácter "="? ¿Este es el motivo de la codificación de URL? El principio de codificación de URL es simplemente agregar% antes de cada byte de caracteres especiales. Los caracteres especiales mencionados aquí no son solo "=" y "&", sino que también incluyen caracteres reservados. Caracteres, caracteres inseguros y caracteres no ASCII, se analizarán en detalle de la siguiente manera

Dado que está codificado, naturalmente utilizará el conjunto de caracteres, al igual que la contraseña para analizar la contraseña. El conjunto de caracteres predeterminado utilizado por la codificación de URL es US-ASCII, por lo que la definición más precisa de codificación de URL es. Debería ser: un signo de porcentaje (%) más dos caracteres US-ASCII correspondientes al byte (que consta de 0123456789ABCDEF, que representa la forma hexadecimal). del byte). Entonces, ¿cuándo es necesario codificar el byte, o es necesario codificar todos los bytes? Para los caracteres legales en la URL, codificados y no codificados son equivalentes, es decir, si el parámetro es: clave1=url. , en este caso, codificado y no codificado es lo mismo. En otras palabras, solo es significativa la codificación URL de caracteres reservados, caracteres no seguros y caracteres no ASCII.