2017-11-30 12 views
0

たとえば、もし私の文字列に - 'नमस्ते'が含まれていたら、文字列中のアルファベットのすべてのユニコードエスケープシーケンスを出力するには?あなたは(あなたが純粋なASCIIのPythonコードの文字列を再定義するために入力したいものを)各文字の\uエスケープが必要な場合Python(3)でUnicode文字列からUnicodeエスケープシーケンスを出力するにはどうすればいいですか?

答えて

1
>>> s = "नमस्ते" 
>>> s.encode('utf-8') 
b'\xe0\xa4\xa8\xe0\xa4\xae\xe0\xa4\xb8\xe0\xa5\x8d\xe0\xa4\xa4\xe0\xa5\x87' 
>>> s.encode('unicode-escape') 
b'\\u0928\\u092e\\u0938\\u094d\\u0924\\u0947' 
2

the unicode-escape codec使用:

>>> 'नमसत'.encode('unicode-escape') 
b'\\u0928\\u092e\\u0938\\u0924' 

を、それが終わる必要がある場合strはなく、bytesdecodeそれはバックASCIIとして(および引用を除去し、それを印刷することにより、ディスプレイ上のバックスラッシュを倍増):

>>> print('नमसत'.encode('unicode-escape').decode('ascii')) 
\u0928\u092e\u0938\u0924 
+0

あなたはそこにいくつかの文字を失ったように見えます。 OPの文字列 ''नमस्ते 'に対して、私は 'b'を得ます。\\ u0928 \\ u092e \\ u0938 \\ u094d \\ u0924 \\ u0947'' –

+0

@ PM2Ring:一口。愚かな端末は、文字をサポートしていない、おそらくコピー&ペーストでそれを失った。 OPがそのアイデアを得ることを願っています。 :-) – ShadowRanger

+0

答えをありがとう!もう一つの質問ですが、個々のユニコードエスケープシーケンスをUTF-8シンボルにマップする方法はありますか? –

関連する問題