Je reçois une chaîne à partir d'une fonction représentée comme u'\xd0\xbc\xd0\xb0\xd1\x80\xd0\xba\xd0\xb0'
, mais pour la traiter, j'ai besoin qu'elle soit octetstring (comme '\xd0\xbc\xd0\xb0\xd1\x80\xd0\xba\xd0\xb0'
).Convertir une chaîne unicode en chaîne d'octets
Comment le convertir sans modifications?
Ma meilleure estimation à ce jour est de prendre s.encode('unicode_escape')
, qui retournera '\\xd0\\xbc\\xd0\\xb0\\xd1\\x80\\xd0\\xba\\xd0\\xb0'
et processus tous les 5 caractères afin que « \ xd0 » devient un caractère représenté comme « \ xd0 ».
C'est intelligent. Ma première option serait 'octets (carte (ord, x))' mais il peut être beaucoup plus lent ... – JBernardo
a confirmé que cela produit le résultat souhaité – bryce
@JBernardo Cela ne fonctionne que dans python 3; ce n'est pas clair à partir du texte, mais les chances sont que l'OP est sur python 2. – zwol