Compartir vía


url_decode

Descodifica una cadena con codificación URL en el formato "application/x-www-form-urlencoded" en su formato original.

Syntax

from pyspark.sql import functions as sf

sf.url_decode(str)

Parámetros

Parámetro Tipo Description
str pyspark.sql.Column o str Columna de cadenas, cada una de las cuales representa una cadena codificada por URL.

Devoluciones

pyspark.sql.Column: una nueva columna de cadenas, cada una que representa la cadena descodificada.

Examples

Ejemplo 1: Descodificación de una cadena con codificación URL

from pyspark.sql import functions as sf
df = spark.createDataFrame([("https%3A%2F%2Fspark.apache.org",)], ["url"])
df.select(sf.url_decode(df.url)).show(truncate=False)
+------------------------+
|url_decode(url)         |
+------------------------+
|https://spark.apache.org|
+------------------------+

Ejemplo 2: Descodificación de una cadena con codificación URL con espacios

from pyspark.sql import functions as sf
df = spark.createDataFrame([("Hello%20World%21",)], ["url"])
df.select(sf.url_decode(df.url)).show()
+---------------+
|url_decode(url)|
+---------------+
|   Hello World!|
+---------------+

Ejemplo 3: Descodificación de una cadena codificada con dirección URL con caracteres especiales

from pyspark.sql import functions as sf
df = spark.createDataFrame([("A%2BB%3D%3D",)], ["url"])
df.select(sf.url_decode(df.url)).show()
+---------------+
|url_decode(url)|
+---------------+
|          A+B==|
+---------------+

Ejemplo 4: Descodificación de una cadena codificada por url con caracteres no ASCII

from pyspark.sql import functions as sf
df = spark.createDataFrame([("%E4%BD%A0%E5%A5%BD",)], ["url"])
df.select(sf.url_decode(df.url)).show()
+---------------+
|url_decode(url)|
+---------------+
|           你好|
+---------------+

Ejemplo 5: Descodificación de una cadena con codificación URL con valores hexadecimales

from pyspark.sql import functions as sf
df = spark.createDataFrame([("%7E%21%40%23%24%25%5E%26%2A%28%29%5F%2B",)], ["url"])
df.select(sf.url_decode(df.url)).show()
+---------------+
|url_decode(url)|
+---------------+
|  ~!@#$%^&*()_+|
+---------------+