Lebih
Python string unicode
Aku punya string yang mengandung karakter unicode misal \u2026
dll. Entah bagaimana itu tidak menerima saya sebagai unicode
, tetapi diterima sebagai str
. Bagaimana cara mengubahnya kembali ke unicode?
>>> a="Hello\u2026"
>>> b=u"Hello\u2026"
>>> print a
Hello\u2026
>>> print b
Hello…
>>> print unicode(a)
Hello\u2026
>>>
Jadi jelas unicode(a)
adalah tidak menjawab. Kemudian apa?
53
3
Unicode lolos hanya bekerja di unicode string, jadi ini
sebenarnya adalah sebuah string dari 6 karakter: '\', 'u', '2', '0', '2', '6'.
Untuk membuat unicode ini, gunakan
decode('unicode-melarikan diri')
:Decode dengan
unicode-melarikan diri
codec:Hal ini karena untuk non-unicode string
\u2026
tidak diakui tapi malah diperlakukan sebagai literal serangkaian karakter (untuk menempatkan lebih jelas,'Halo\\u2026'
). Anda perlu untuk men-decode lolos, danunicode-melarikan diri
codec dapat melakukannya untuk anda.Perhatikan bahwa anda bisa mendapatkan
unicode
untuk mengakui hal itu dalam cara yang sama dengan menentukan codec argumen:Tapi
a.decode()
adalah cara yang lebih baik.