Tôi có chương trình Python 2.7 đọc tin nhắn văn bản iOS từ cơ sở dữ liệu SQLite. Các tin nhắn văn bản là các chuỗi unicode. Trong tin nhắn văn bản sau đây:Python - Đọc Ký tự Unicode Biểu tượng cảm xúc
u'that\u2019s \U0001f63b'
Các dấu nháy đơn được thể hiện bằng \u2019
, nhưng biểu tượng cảm xúc được thể hiện bằng \U0001f63b
. Tôi đã tra cứu điểm mã cho biểu tượng cảm xúc được đề cập đến, và là \uf63b
. Tôi không chắc chắn nơi xuất hiện của 0001
. Tôi biết rất ít về mã hóa ký tự.
Khi tôi in văn bản, từng ký tự, sử dụng: Chương trình
s = u'that\u2019s \U0001f63b'
for c in s:
print c.encode('unicode_escape')
Các xuất ra như sau:
t
h
a
t
\u2019
s
\ud83d
\ude3b
Làm thế nào tôi có thể đọc một cách chính xác những ký tự cuối cùng trong Python? Tôi có sử dụng mã hóa chính xác ở đây không? Tôi chỉ nên cố gắng để thùng rác những người 0001
s trước khi đọc nó, hoặc là có một cách dễ dàng hơn, ít ngớ ngẩn?
'0xf63b' nằm trong phần" Sử dụng riêng tư "của Unicode. Bạn có chắc chắn điều này là chính xác? Codepoint của bạn có lẽ là '0x1f63b', vì đó là biểu tượng cảm xúc" cười với mắt trái tim ". – Kupiakos
Làm cách nào để bạn xác định rằng '\ uf63b' sẽ là ký tự Emoji? Theo tài liệu tham khảo của tôi, nó không được xác định: http://www.fileformat.info/info/unicode/char/f63b/index.htm –