微信小程序和前端如何处理手机上的emoji表情

 

        微信小程序和前端中,对于的emoji如果不进行编码,后台存储mysql数据时,

会报错无法存储。例如在发布文章或者评论中的表情处理。


     解决方法:

对可能涉及emoji表情的文本进行base64编码和解码。

存储数据时:存储到数据库是进行base64编码,存储到数据库。

展示数据时:从数据库取出数据,并对数据进行base64解码返回给前端展示。


实现代码:

jdk1.8之前:

采用的是Apache Commons Codec作法,Apache Commons Codec有提供Base64的编码与解码功能,会使用到org.apache.commons.codec.binary套件下的Base64类别,用法如下:

final Base64 base64 = new Base64();
final String text = "字串文字";
final byte[] textByte = text.getBytes("UTF-8");
//编码
final String encodedText = base64.encodeToString(textByte);
System.out.println(encodedText);
//解码
System.out.println(new String(base64.decode(encodedText), "UTF-8"));


jdk1.8之后:

Java 8之后的作法,Java 8的java.util中,新增了Base64的类别,可以用来处理Base64的编码与解码,用法如下:

final Base64.Decoder decoder = Base64.getDecoder();
final Base64.E

本文转载:CSDN博客