python 過濾四字節字符 表情字符


項目中有時需要過濾掉四字節以上的字符(表情),比如mysql數據庫5.5.3以下的版本text字段不支持四字節以上字符

於是就需要過濾掉再入庫,python中的方法為:

  1.  
    try:
  2.  
    # python UCS-4 build的處理方式
  3.  
    highpoints = re.compile( u'[\U00010000-\U0010ffff]')
  4.  
    except re.error:
  5.  
    # python UCS-2 build的處理方式
  6.  
    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)

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM