服务端屏蔽emoji表情

2024-04-02 18:18
文章标签 服务端 表情 emoji 屏蔽

本文主要是介绍服务端屏蔽emoji表情,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近做项目,因为项目用的是mysql,utf-8的字符集,存放的长度为3字节,而emoji表情为4字节,在存入数据库时,就会抛出异常,需要将mysql字符集改为utf8mb4 ,但是生产中是不可能的,所以只能屏蔽,查了很多资料,找到一个不错的文章,现转载,留作记录,以备不时之需。

一、emoji 的范围

  1. 杂项符号及图形
    杂项符号及图形一共有768个字符,范围为: U+1F300 ~ U+1F5FF,在 Java 中正则表达式为:

“[\uD83C\uDF00-\uD83D\uDDFF]”
2. 增补符号及图形
增补符号及图形中一共有82个字符,范围为: U+1F900 ~ U+1F9FF,在 Java 中正则表达式为:

“[\uD83E\uDD00-\uD83E\uDDFF]”
3. 表情符号
表情符号一共有80个字符,范围为: U+1F600 ~ U+1F64F,在 Java 中正则表达式为:

“[\uD83D\uDE00-\uD83D\uDE4F]”
4. 交通及地图符号
交通及地图符号一共有103个字符,范围为: U+1F680 ~ U+1F6FF,在 Java 中正则表达式为:

“[\uD83D\uDE80-\uD83D\uDEFF]”
5. 杂项符号
杂项符号一共有256个字符,范围为: U+2600 ~ U+26FF 或拼上 U+FE0F,在 Java 中正则表达式为:

“[\u2600-\u26FF]\FE0F?”
6. 装饰符号
装饰符号一共有192个字符,范围为: U+2700 ~ U+27BF 或拼上 U+FE0F,在 Java 中正则表达式为:

“[\u2700-\u27BF]\FE0F?”
7. 封闭式字母数字符号
封闭式字母数字符号中只有一个 emoji 字符,为: U+24C2 或拼上 U+FE0F,在 Java 中正则表达式为:

“\u24C2\uFE0F?”
8. 封闭式字母数字补充符号
封闭式字母数字补充符号包含41个 emoji 字符,其中26个属于区域指示符号

8.1 区域指示符号
区域指示符号一共有26个字符,范围为: U+1F1E6 ~ U+1F1FF,并且其中每两个字母可以代表一个国家或地区的旗帜,在 Java 中正则表达式为:

“[\uD83C\uDDE6-\uD83C\uDDFF]{1,2}”
8.2 其他封闭式字母数字补充 emoji 符号
除了区域指示符号外其他的 emoji 字符为: U+1F170、 U+1F171、 U+1F17E、 U+1F17F、 U+1F18E 和 U+1F191 ~ U+1F19A 或拼上 U+FE0F,在 Java 中正则表达式为:

“[\uD83C\uDD70\uD83C\uDD71\uD83C\uDD7E\uD83C\uDD7F\uD83C\uDD8E\uD83C\uDD91-\uD83C\uDD9A]\uFE0F?”
9. 键帽符号(#⃣, asterisk and 0⃣-9⃣)
键帽符号一共有12个字符,其组成方式为: U+0023、 U+002A 和 U+0030 ~ U+0039 12个键帽基础字符加上 U+FE0F 和 U+20E3, 如:

“\u0023\u20E3” > “#⃣”

“\u002A\uFE0F\u20E3” > “*️⃣”

“\u0030\u20E3” > “0⃣”

“\u0039\u20E3” > “9⃣”
其中 uFE0F 是可选的,所以在 Java 中正则表达式为:

“[\u0023\u002A[\u0030-\u0039]]\uFE0F?\u20E3”
10. 箭头符号
箭头符号中有8个 emoji 字符,范围为: U+2194 ~ U+2199 和 U+21A9 ~ U+21AA 或拼上 U+FE0F,在 Java 中正则表达式为:

“[\u2194-\u2199\u21A9-\u21AA]\uFE0F?”
11. 杂项符号及箭头
杂项符号及箭头中有7个 emoji 字符,分别为: U+2B05 ~ U+2B07、 U+2B1B、 U+2B1C、 U+2B50 和 U+2B55 或拼上 U+FE0F,在 Java 中正则表达式为:

“[\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55]\uFE0F?”
12. 补充箭头符号
补充箭头符号中有2个 emoji 字符,分别为: U+2934 和 U+2935 或拼上 U+FE0F,在 Java 中正则表达式为:

“[\u2934\u2935]\uFE0F?”
13. CJK 符号和标点
CJK (Chinese, Japanese and Korean) 符号和标点中有两个 emoji 字符,分别为: U+3030 和 U+303D 或拼上 U+FE0F,在 Java 中正则表达式为:

“[\u3030\u303D]\uFE0F?”
14. 封闭式 CJK 字母和月份符号
封闭式 CJK 字母和月份符号中有两个 emoji 字符,分别为:U+3297 和 U+3299 或拼上 U+FE0F,在 Java 中正则表达式为:

“[\u3297\u3299]\uFE0F?”
15. 封闭式表意文字补充符号
封闭式表意文字补充符号中有15个 emoji 字符, 分别为: U+1F201、 U+1F202、 U+1F21A、 U+1F22F、 U+1F232 ~ U+1F23A、 U+1F250、 U+1F251 或拼上 U+FE0F,在 Java 中正则表达式为:

“[\uD83C\uDE01\uD83C\uDE02\uD83C\uDE1A\uD83C\uDE2F\uD83C\uDE32-\uD83C\uDE3A\uD83C\uDE50\uD83C\uDE51]\uFE0F?”
16. 一般标点
一般标点符号中有2个 emoji 字符,分别为: U+203C 和 U+2049 或拼上 U+FE0F,在 Java 中正则表达式为:

“[\u203C\u2049]\uFE0F?”
17. 几何图形
几何图形中有8个 emoji 字符,分别为: U+25AA、 U+25AB、 U+25B6、 U+25C0 和 U+25FB ~ U+25FE 或拼上 U+FE0F,在 Java 中正则表达式为:

“[\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE]\uFE0F?”
18. 拉丁文补充符号
拉丁文补充符号中有2个 emoji 字符,分别为: U+00A9 和 U+00AE 或拼上 U+FE0F,在 Java 中正则表达式为:

“[\u00A9\u00AE]\uFE0F?”
19. 字母符号
字母符号中有2个 emoji 字符,分别为: U+2122 和 U+2139 或拼上 U+FE0F,在 Java 中正则表达式为:

“[\u2122\u2139]\uFE0F?”
20. 麻将牌
麻将牌中只有一个 emoji 字符,为: U+1F004 或拼上 U+FE0F,在 Java 中正则表达式为:

“\uD83C\uDC04\uFE0F?”
21. 扑克牌
扑克牌中只有一个 emoji 字符,为: U+1F0CF 或拼上 U+FE0F,在 Java 中正则表达式为:

“\uD83C\uDCCF\uFE0F?”
22. 杂项技术符号
杂项技术符号中有18个 emoji 字符,分别为: U+231A、 U+231B、 U+2328、 U+23CF、 U+23E9 ~ U+23F3 和 U+23F8 ~ U+23FA 或拼上 U+FE0F,在 Java 中正则表达式为:

“[\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA]\uFE0F?”
二、包含所有 emoji 的正则表达式
“(?:[\uD83C\uDF00-\uD83D\uDDFF]|[\uD83E\uDD00-\uD83E\uDDFF]|[\uD83D\uDE00-\uD83D\uDE4F]|[\uD83D\uDE80-\uD83D\uDEFF]|[\u2600-\u26FF]\uFE0F?|[\u2700-\u27BF]\uFE0F?|\u24C2\uFE0F?|[\uD83C\uDDE6-\uD83C\uDDFF]{1,2}|[\uD83C\uDD70\uD83C\uDD71\uD83C\uDD7E\uD83C\uDD7F\uD83C\uDD8E\uD83C\uDD91-\uD83C\uDD9A]\uFE0F?|[\u0023\u002A\u0030-\u0039]\uFE0F?\u20E3|[\u2194-\u2199\u21A9-\u21AA]\uFE0F?|[\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55]\uFE0F?|[\u2934\u2935]\uFE0F?|[\u3030\u303D]\uFE0F?|[\u3297\u3299]\uFE0F?|[\uD83C\uDE01\uD83C\uDE02\uD83C\uDE1A\uD83C\uDE2F\uD83C\uDE32-\uD83C\uDE3A\uD83C\uDE50\uD83C\uDE51]\uFE0F?|[\u203C\u2049]\uFE0F?|[\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE]\uFE0F?|[\u00A9\u00AE]\uFE0F?|[\u2122\u2139]\uFE0F?|\uD83C\uDC04\uFE0F?|\uD83C\uDCCF\uFE0F?|[\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA]\uFE0F?)”

这篇关于服务端屏蔽emoji表情的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/870710

相关文章

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Python FastMCP构建MCP服务端与客户端的详细步骤

《PythonFastMCP构建MCP服务端与客户端的详细步骤》MCP(Multi-ClientProtocol)是一种用于构建可扩展服务的通信协议框架,本文将使用FastMCP搭建一个支持St... 目录简介环境准备服务端实现(server.py)客户端实现(client.py)运行效果扩展方向常见问题结

基于Python+PyQt5打造一个跨平台Emoji表情管理神器

《基于Python+PyQt5打造一个跨平台Emoji表情管理神器》在当今数字化社交时代,Emoji已成为全球通用的视觉语言,本文主要为大家详细介绍了如何使用Python和PyQt5开发一个功能全面的... 目录概述功能特性1. 全量Emoji集合2. 智能搜索系统3. 高效交互设计4. 现代化UI展示效果

C#使用MQTTnet实现服务端与客户端的通讯的示例

《C#使用MQTTnet实现服务端与客户端的通讯的示例》本文主要介绍了C#使用MQTTnet实现服务端与客户端的通讯的示例,包括协议特性、连接管理、QoS机制和安全策略,具有一定的参考价值,感兴趣的可... 目录一、MQTT 协议简介二、MQTT 协议核心特性三、MQTTNET 库的核心功能四、服务端(BR

SpringBoot快速搭建TCP服务端和客户端全过程

《SpringBoot快速搭建TCP服务端和客户端全过程》:本文主要介绍SpringBoot快速搭建TCP服务端和客户端全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录TCPServerTCPClient总结由于工作需要,研究了SpringBoot搭建TCP通信的过程

SpringBoot实现websocket服务端及客户端的详细过程

《SpringBoot实现websocket服务端及客户端的详细过程》文章介绍了WebSocket通信过程、服务端和客户端的实现,以及可能遇到的问题及解决方案,感兴趣的朋友一起看看吧... 目录一、WebSocket通信过程二、服务端实现1.pom文件添加依赖2.启用Springboot对WebSocket

Java Websocket实例【服务端与客户端实现全双工通讯】

Java Websocket实例【服务端与客户端实现全双工通讯】 现很多网站为了实现即时通讯,所用的技术都是轮询(polling)。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发 出HTTP request,然后由服务器返回最新的数据给客服端的浏览器。这种传统的HTTP request 的模式带来很明显的缺点 – 浏 览器需要不断的向服务器发出请求,然而HTTP

JAVA用最简单的方法来构建一个高可用的服务端,提升系统可用性

一、什么是提升系统的高可用性 JAVA服务端,顾名思义就是23体验网为用户提供服务的。停工时间,就是不能向用户提供服务的时间。高可用,就是系统具有高度可用性,尽量减少停工时间。如何用最简单的方法来搭建一个高效率可用的服务端JAVA呢? 停工的原因一般有: 服务器故障。例如服务器宕机,服务器网络出现问题,机房或者机架出现问题等;访问量急剧上升,导致服务器压力过大导致访问量急剧上升的原因;时间和

超级 密码加密 解密 源码,支持表情,符号,数字,字母,加密

超级 密码加密 解密 源码,支持表情,符号,数字,字母,加密 可以将表情,动物,水果,表情,手势,猫语,兽语,狗语,爱语,符号,数字,字母,加密和解密 可以将文字、字母、数字、代码、标点符号等内容转换成新的文字形式,通过简单的文字以不同的排列顺序来表达不同的内容 源码截图: https://www.httple.net/152649.html

Linux中如何屏蔽信号

本篇文章主要学习Linux的信号处理机制,着重学习屏蔽信号部分。屏蔽信号处理的两种方式类似于信号的捕获,一种方式是直接对其设置,另一种方式是先获得描述符的掩码,然后对其设置操作。 本文主要参考自《嵌入式linux系统使用开发》,作者何永琪,Thanks. 在linux系统中,如何处理某个进程发送的一个特定信号呢?一般来说有三种方式: 1) 忽略信号 2) 屏蔽信号 3) 为该信号添