私はを使用しています。Devnagriや他のインド語のスクリプト文字をUnicode版に変換しますが、英数字、数字、特殊文字についてはこの機能が失敗します。 誰かがこれに対して他の機能を提案できますか?どの言語の文字をPythonでそれぞれのユニコードに変換するには?
答えて
unicode_escape
コーデックは、非アスキー文字のみをUnicodeエスケープ形式に変換します。しかし、あなたは自分でフォーマットすることができます。
#!python3.6
# coding:utf8
import re
def escape(s):
def replace(m):
item = ord(m.group(0))
if item < 0x100:
return fr'\x{item:02x}'
elif item < 0x10000:
return fr'\u{item:04x}'
return fr'\U{item:08X}'
return re.sub(r'.',replace,s)
s = 'abcü马克'
print(escape(s))
出力:
\x61\x62\x63\xfc\u9a6c\u514b\U0001F600
はここのPython 2.7(狭いビルド)だ換算...と、なぜUnicodeを使用して、誰もがPythonの3に切り替える必要があります。
#!python2.7
#coding:utf8
import re
def escape(s):
def replace(m):
char = m.group(0)
if len(char) > 1:
# Python 2 uses UTF-16 surrogate pairs for Unicode above U+FFFF.
# Manually convert a UTF-16 surrogate pair to a Unicode ordinal.
item = (((ord(char[0]) & 0x3FF) << 10) | (ord(char[1]) & 0x3FF)) + 0x10000
else:
item = ord(char)
if item < 0x100:
return r'\x{:02x}'.format(item)
elif item < 0x10000:
return r'\u{:04x}'.format(item)
return r'\U{:08X}'.format(item)
# This regular expression detects UTF-16 surrogate pairs.
return re.sub(ur'[\ud800-\udbff][\udc00-\udfff]|.',replace,s)
s = u'abcü马克'
print(escape(s))
出力(同):
\x61\x62\x63\xfc\u9a6c\u514b\U0001F600
OPはPython 2.7上にあるようですので、3.6のf-string構文はおそらく役に立ちません。 :-) – ShadowRanger
@ShadowRangerさんは彼の質問にそれを入れておいた方がいいでしょう。トレーニング:)私はコメントを見た後、とにかく2.7バージョンで作業していた。これはPython 3に切り替える理由の良い例です:) –
引数がありません。私はPy2が恐ろしい死を迎えているため、私たちが常に背中の背後に縛られた片手でコーディングしているわけではありません。 :-) – ShadowRanger
- 1. ユニコード文字をPythonのそれぞれのシンボルに変換するには?
- 2. ユニコードのエスケープシーケンスをPython文字列のユニコード文字に変換するには
- 3. エスケープされたユニコード文字をユニコード記法に変換する
- 4. utf-8文字列をペルシア語のユニコードに変換する
- 5. Python;どのようにエスケープされた非ユニコード文字をそれぞれの '実際の' utf-8と置き換えるのですか?
- 6. ユニコード文字列をPythonでリテラル文字列に変換するには?
- 7. ユニコード配列をPythonの文字列に変換する方法
- 8. Pythonは16進文字をそれぞれの記号に変換しますか?
- 9. python3を使ってシンボルをそれぞれのユニコード表現に変換するには?
- 10. intを式言語で文字列に変換するには?
- 11. Emacs Lispで引数リストを新しい行にそれぞれの文字列に変換するには?
- 12. ユニコードを文字列に変換する
- 13. Pythonでユニコード文字列を使用可能なユニコードに変換する
- 14. テキストコーパスをvocabulary_idとそれぞれのtfidfスコアでテキスト文書に変換する
- 15. 文字列をユニコード文字に変換するにはどうすればよいですか?
- 16. Python分割のユニコード文字と単語
- 17. タイルのユニコード値の配列を空白文字付きのPythonでタミル文字列に変換するには?
- 18. WSDLをそれぞれのHTTPバインディングに変換する
- 19. 文字列をC言語のコードに変換する方法#
- 20. 文字列をgo言語のintに変換する
- 21. それぞれの複数の文字でpythonリストを照会する方法
- 22. MATLABでユニコード文字を変換する
- 23. 大文字を使用する方法文字列の略語と最初の単語をそれぞれ大文字にする方法は?
- 24. 特殊なユニコード文字(♡など)を文字列(0x2661など)の16進リテラルに変換するPython
- 25. Pythonでユニコード文字列を変換する
- 26. Pythonの文字列をブタのラテン語に変換する
- 27. ユニコード文字列をバイト文字列に変換する
- 28. リストの文字列に文字を置き換えて、それぞれのコピーを作成します。
- 29. これは、それが別々の行では、それぞれが、メモに個々の文字をいに単語を分割する私のコードでメモ
- 30. 文字列のArrayListを渡し、それぞれの配列をそれ自身の文字列に変換する方法(Java)
一部examplあなたが体験していることは、火のついた使い方でしょうか?いくつかのコードを貼り付けてください! – Bodao
例を挙げることができますか? '" foo ".encode(" unicode_escape ")'が動作します。 – tdelaney
Pythonと私たちはユニコードを話しているので、あなたは2.xや3.xを使っているかどうかを言いたいかもしれません... –