[英]How to remove all emoji (unicode) characters from a string python
[英]Python - Reading Emoji Unicode Characters
我有一个Python 2.7程序,它从SQLite数据库中读取iOS文本消息。 文本消息是unicode字符串。 在以下文字信息中:
u'that\u2019s \U0001f63b'
撇号由\’
表示,但表情符号由\\U0001f63b
表示。 我查找了有问题的表情符号的代码点,它是\
。 我不确定0001
的来源。 我对字符编码很少了解。
当我逐个字符地打印文本时,使用:
s = u'that\u2019s \U0001f63b'
for c in s:
print c.encode('unicode_escape')
该程序产生以下输出:
t
h
a
t
\u2019
s
\ud83d
\ude3b
如何在Python中正确读取这些最后的字符? 我在这里正确使用编码吗? 我是否应该在阅读之前尝试将这些0001
废弃,或者是否有更容易,更不傻的方式?
我不认为你正确使用编码,也不需要。 你拥有的是一个有效的unicode字符串,其中包含一个4位和一个8位数的转义序列。 在OS X上的REPL中尝试这个
>>> s = u'that\u2019s \U0001f63b'
>>> print s
that’s 😻
在python3中,尽管 -
Python 3.4.3 (default, Jul 7 2015, 15:40:07)
>>> s = u'that\u2019s \U0001f63b'
>>> s[-1]
'😻'
您最后的困惑可能是由于您正在运行所谓的“窄Python构建”。 Python无法容纳具有足够信息的单个字符来容纳单个表情符号。 最好的解决方案是转向Python 3.否则,尝试处理UTF-16代理对 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.