Ricevo una stringa da una funzione che è rappresentata come u'\xd0\xbc\xd0\xb0\xd1\x80\xd0\xba\xd0\xb0'
, ma per elaborarla ho bisogno che sia testata (come '\xd0\xbc\xd0\xb0\xd1\x80\xd0\xba\xd0\xb0'
).Converti stringa unicode in stringa di byte
Come posso convertirlo senza modifiche?
La mia ipotesi migliore finora è quello di prendere s.encode('unicode_escape')
, che restituirà '\\xd0\\xbc\\xd0\\xb0\\xd1\\x80\\xd0\\xba\\xd0\\xb0'
e di processo ogni 5 caratteri in modo che '\ xd0' diventa un carattere rappresentato come '\ xd0'.
Questo è intelligente. La mia prima opzione sarebbe 'bytes (map (ord, x))' ma potrebbe essere molto più lenta ... – JBernardo
confermato produce il risultato desiderato – bryce
@JBernardo Funziona solo in python 3; non è chiaro dal testo, ma le probabilità sono che l'OP sia su python 2. – zwol