java对于emoji的截取

近来做的项目要求对emoji支持,用户名以及备注可以使用emoji,在此记录一下
emoji如何存入数据库以及取出可以百度,在此不赘述。
我们的订单详情中要对客户姓名用性别做脱敏处理,如

李先生、张女士

没有emoji之前我就直接取了第一个字符拼接

linkName.charAt(0)

而使用了emoji之后,产生了这样的名字

张三

ios表示直接报错了,安卓虽然可以展示,但是姓氏变成了乱码
我才意识到这是截取字符时出了问题,但是怎么解决呢

历经艰难险阻,我终于成功了,话不多说,贴个代码,让大家少走弯路

//仅适用于取第一位,需要更强大的功能请自己拓展
linkName.substring(0, linkName.offsetByCodePoints(0, linkName.codePointCount(0, 1)))

结束!

你可能感兴趣的:(java对于emoji的截取)