項目中有時需要過濾掉四字節以上的字符(表情),比如mysql數據庫5.5.3以下的版本text字段不支持四字節以上字符
於是就需要過濾掉再入庫,python中的方法為:
-
try:
-
# python UCS-4 build的處理方式
-
highpoints = re.compile( u'[\U00010000-\U0010ffff]')
-
except re.error:
-
# python UCS-2 build的處理方式
-
highpoints = re.compile( u'[\uD800-\uDBFF][\uDC00-\uDFFF]')----------------------------------------------------------------------------------
后來發現,發現這問題的原因是:UTF-8編碼中文的字節通常是3-4字節,Emoji表情是4字節,讀寫數據庫稍不留神就報錯!
哈哈哈哈哈哈發現問題就簡單了,目前我們文本分析不需要分析表情包,我決定把它們都刪了!
然后:emoji官網,https://pypi.org/project/emoji/(靠譜的emoji處理庫)
安裝 pip install emoji
清除命令:
emoji.demojize(str)