微信小程序、uniapp、H5——发送、显示emoji表情
小伙伴们,在开发中有没有遇到过发布帖子或者实时聊天需要发送到一些emoji表情的。
但是每当我们直接将emoji表情提交到后台的接口又会报错,因为字符串的格式不一致导致数据无法添加致数据库。
那么作为前端的我们就要将我们要提交的数据,通过如下方法正则获取所有的emoji表情,将其转成 base64 。
// 将emoji表情其转成 base64
utf16toEntities:function(str) {var patt = /[\ud800-\udbff][\udc00-\udfff]/g; // 检测utf16字符正则str = str.replace(patt, function (char) {var H, L, code;if (char.length === 2) {H = char.charCodeAt(0); // 取出高位L = char.charCodeAt(1); // 取出低位code = (H - 0xD800) * 0x400 + 0x10000 + L - 0xDC00; // 转换算法return "&#" + code + ";";} else {return char;}});return str;
},
这样我们就可以成功的将emoji表情提交到后台并加入数据库中了
那么怎么显示的时候是一串字符串呢?
那是因为你这里没有在转一下字符串类型导致现在显示出来的不是emoji表情,而是一串字符串
接着我们就要在显示前使用如下方法将该字段解码
// 解码emoji表情
uncodeUtf16:function(str){var reg = /\&#.*?;/g;var result = str.replace(reg, function (char) {var H, L, code;if (char.length == 9) {code = parseInt(char.match(/[0-9]+/g));H = Math.floor((code - 0x10000) / 0x400) + 0xD800;L = (code - 0x10000) % 0x400 + 0xDC00;return unescape("%u" + H.toString(16) + "%u" + L.toString(16));} else {return char;}});return result;
},
以上是小编的一个解决方案,如果小伙伴们还有什么好的方法请在下方评论,告知一下小编哦!
微信小程序、uniapp、H5——发送、显示emoji表情相关推荐
- 记录--微信小程序,uniapp,H5端发送,显示emoji表情
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 小伙伴们,在开发中有没有遇到过发布帖子或者实时聊天需要发送到一些emoji表情的. 但是每当我们直接将emoji表情提交到后台的接口又会报 ...
- uni-app开发微信小程序,H5 关于压缩上传图片的问题
文章目录 前言 一.为什么要压缩图片 二.图片压缩方式 1. 微信小程序 2. H5 总结 前言 关于微信小程序.H5兼容性问题,今天就压缩以及上传图片做一个可实现方法的简要阐述. 一. ...
- Shopro商城 高级版 Fastadmin和Uniapp进行开发的多平台商城(微信公众号、微信小程序、H5网页、Android-App、IOS-App)
Shopro商城无加密的开源源码(可用于自营+外包项目(多主体).可用于外包定制开发项目) shopro 商城,一款基于 uni-app 的前端模板商城.目前适配了(小程序+app+h5+公众号). ...
- Shopro商城,基于Fastadmin和Uniapp进行开发的多平台(微信公众号、微信小程序、H5网页、Android-App、IOS-App)购物商城
Shopro商城 基于Fastadmin和Uniapp进行开发的多平台(微信公众号.微信小程序.H5网页.Android-App.IOS-App)购物商城,拥有强大的店铺装修.小程序直播.自定义模板. ...
- uniapp实现微信小程序全局【发送给朋友】、【分享到朋友圈】、【复制链接】
在开发微信小程序的时候,发现[发送给朋友].[分享到朋友圈].[复制链接]功能,灰色不可用. 很常见的功能,但是这几个功能,并不是你项目建起来了就有的. 1.[发送给朋友]使用 onShareAppM ...
- json 微信小程序 筛选_GitHub - zhengyangkang/sl-filter: uni -app 一款使用简单的筛选组件,适配app、微信小程序、H5。...
sl-filter 筛选 筛选组件,组件名:sl-filter dcloud插件市场地址 sl-filter 简介 一款使用简单的筛选组件,适配app.微信小程序.H5. 感谢分享 效果图 并列菜单 ...
- 微信小程序uni-app
文章目录 一.微信小程序uni-app 二.下载微信开发者工具 三.小程序开发 一.微信小程序uni-app 小程序是一种不需要下载.安装即可使用的应用,它实现了应用触手可及的梦想,用户扫一扫或者搜一 ...
- html5苹果x底部满屏,iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配...
最近写小程序时,遇到了 iPhoneX 底部小黑线与内容重叠的问题,实际上是iPhoneX安全区域的适配问题,了解清楚这个问题花了挺多时间的,也实操出了结果,忍不住来总结总结. 前言 在苹果 iPho ...
- iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配
最近写小程序时,遇到了 iPhoneX 底部小黑线与内容重叠的问题,实际上是iPhoneX安全区域的适配问题,了解清楚这个问题花了挺多时间的,也实操出了结果,忍不住来总结总结. 本文目录 前言 ...
- 开发微信小程序(uniapp)
@2021SC@SDUSC WebStorm开发微信小程序(uniapp) 创建项目 采用cli方式创建的项目 vue create -p dcloudio/uni-preset-vue my-pro ...
最新文章
- 7 自动开启网卡_淘汰的旧手机别扔掉,这样设置变身4G上网卡
- ORA-00913错误:PL/SQL: ORA-00913: too many values
- 厦门计算机高级职称,2021年厦门工程师职称属于哪种职称?
- opencv运行时exe 无法写进去的解决方法
- ElementUI的el-table怎样隐藏某一列
- Python内存管理方式和垃圾回收算法解析
- 决策树分类python代码_分类算法-决策树 Decision Tree
- 跳转到企业缓存之前要考虑的事项
- 如何执行一段java代码_V8 之 如何执行一段 JavaSscript 代码
- Color.js增强你对颜色的控制
- 解决crlf 和 lf不同带来的冲突问题
- java hibernate的使用_java – 使用hibernate / JPA登录
- 百度地图定位SDK 之构想
- linux unlink 与 rm区别_从 lsof 开始,深入理解 Linux 虚拟文件系统
- 字节跳动代理商_横跨字节跳动海外抖音核心代理商爆发!(002803)
- 图书管理系统mysql数据库设计_简单的图书馆管理系统数据库设计
- 【自动驾驶】MPC控制器 + 驾驶模型器
- [易飞]关于应付账款明细帐余额余总账不平解决方案
- Python分解质因数
- 解决fatal: unable to access‘‘:GnuTLS recv error
热门文章
- ISTQB初级认证-知识点及脑图总结
- C/C++路面导航系统[2023-01-16]
- 如何创建自己的 Google Chrome 扩展程序
- Go生成Excel文件并下载及问题
- Unity之线性渲染器
- Mysql报错:SQLIntegrityConstraintViolationException: Duplicate entry ‘xxx‘ for key ‘PRIMARY‘
- 8卡gpu服务器是8个芯片,北京8卡GPU服务器厂商
- 关于护肤那些事(程序员必知,女朋友要考的)
- php批量改名工具,批量更名大师下载_批量改名大师(Win-Tool之文件批量更名工具) 1.8.7 演示版_极速下载站_软件下载...
- 1688采源宝的商家靠谱吗 怎么入驻成为阿里采源宝商家