微信小程序和前端如何处理手机上的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