In Python 3, queste funzioni sono urllib.parse.unquote
e urllib.parse.unquote_plus
.
Quest'ultimo viene utilizzato ad esempio per stringhe di query negli URL HTTP, in cui i caratteri spazio (
) sono tradizionalmente codificati come più caratteri (+
), e la percentuale +
è codificato a %2B
.
Oltre a questi c'è lo unquote_to_bytes
che converte la stringa codificata specificata in bytes
, che può essere utilizzata quando la codifica non è nota oi dati codificati sono dati binari. Tuttavia non v'è alcuna unquote_plus_to_bytes
, se ne avete bisogno, si può fare:
def unquote_plus_to_bytes(s):
if isinstance(s, bytes):
s = s.replace(b'+', b' ')
else:
s = s.replace('+', ' ')
return unquote_to_bytes(s)
Maggiori informazioni su se utilizzare o unquote
unquote_plus
è disponibile a URL encoding the space character: + or %20.
fonte
2015-02-10 15:09:14
K, volevo solo assicurarmi .. Odio usare una funzione che sembra fare il lavoro, ma finisce solo lavorando con alcuni esempi che ho fatto e rompendo con vars mondo reale. eh. Quindi diventa impossibile rintracciare il problema ..: P – Ian