10
u'\xd0\xbc\xd0\xb0\xd1\x80\xd0\xba\xd0\xb0'
のように表される関数から文字列を取得しますが、それを処理するには、バイト文字列('\xd0\xbc\xd0\xb0\xd1\x80\xd0\xba\xd0\xb0'
など)が必要です。ユニコード文字列をバイト文字列に変換する
変更せずに変換するにはどうすればよいですか?
これまでのところ、s.encode('unicode_escape')
を返すと、'\\xd0\\xbc\\xd0\\xb0\\xd1\\x80\\xd0\\xba\\xd0\\xb0'
が返され、5文字ごとに処理され、 '\ xd0'は '\ xd0'として表される1文字になります。
これはスマートです。私の最初のオプションは 'bytes(map(ord、x))'ですが、もっと遅くなる可能性があります。 – JBernardo
これが正しい結果を返します – bryce
@JBernardoこれはPython 3でのみ動作します。テキストからは分かりませんが、OPはPython 2にあります。 – zwol