base 64 转码解码 表情包emoji转码
转码方式
bota和 atob
从base64到atob和btoa的一些理解
https://segmentfault.com/a/1190000016379916
附上菜鸟教程链接
bota https://www.runoob.com/jsref/met-win-btoa.html
atob https://www.runoob.com/jsref/met-win-atob.html
演示链接 https://www.runoob.com/try/try.php?filename=tryjsref_win_atob
encodeURI() 、decodeURI()、 decodeURIComponent()、encodeURIComponent()
附上菜鸟教程链接
encodeURI() https://www.runoob.com/jsref/jsref-encodeuri.html
decodeURI() https://www.runoob.com/jsref/jsref-decodeuri.html
decodeURIComponent() https://www.runoob.com/jsref/jsref-decodeuricomponent.html
encodeURIComponent() https://www.runoob.com/jsref/jsref-encodeuricomponent.html
附上参考链接
https://www.cnblogs.com/mu-zi-/p/8856907.html
https://blog.csdn.net/li2327234939/article/details/53675211
代码都是vue 写法,注意修改部分内容
这个转码表情包会报错,但是转码成功显示没问题
附原文链接 未找到
附上报错参考链接
https://cloud.tencent.com/developer/section/1191688
https://blog.csdn.net/u010486124/article/details/81102224
b64EncodeUnicode(str) {return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function(match, p1) {return String.fromCharCode('0x' + p1);}))},b64DecodeUnicode(str) {return decodeURIComponent(atob(str).split('').map(function(c) {return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);}).join(''));},
下面这个转码没有报错 附上原文链接
https://blog.csdn.net/qq_35393472/article/details/103536104?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.channel_param
encode (input) { var _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output = ""; var chr1, chr2, chr3, enc1, enc2, enc3, enc4; var i = 0; input = this._utf8_encode(input); while (i < input.length) { chr1 = input.charCodeAt(i++); chr2 = input.charCodeAt(i++); chr3 = input.charCodeAt(i++); enc1 = chr1 >> 2; enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); enc4 = chr3 & 63; if (isNaN(chr2)) { enc3 = enc4 = 64; } else if (isNaN(chr3)) { enc4 = 64; } output = output + _keyStr.charAt(enc1) + _keyStr.charAt(enc2) + _keyStr.charAt(enc3) + _keyStr.charAt(enc4); } return output; },_utf8_encode (string) { string = string.replace(/\r\n/g,"\n"); var utftext = ""; for (var n = 0; n < string.length; n++) { var c = string.charCodeAt(n); if (c < 128) { utftext += String.fromCharCode(c); } else if((c > 127) && (c < 2048)) { utftext += String.fromCharCode((c >> 6) | 192); utftext += String.fromCharCode((c & 63) | 128); } else { utftext += String.fromCharCode((c >> 12) | 224); utftext += String.fromCharCode(((c >> 6) & 63) | 128); utftext += String.fromCharCode((c & 63) | 128); } } return utftext; },decode (input) { var _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output = ""; var chr1, chr2, chr3; var enc1, enc2, enc3, enc4; var i = 0; input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); while (i < input.length) { enc1 = _keyStr.indexOf(input.charAt(i++)); enc2 = _keyStr.indexOf(input.charAt(i++)); enc3 = _keyStr.indexOf(input.charAt(i++)); enc4 = _keyStr.indexOf(input.charAt(i++)); chr1 = (enc1 << 2) | (enc2 >> 4); chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); chr3 = ((enc3 & 3) << 6) | enc4; output = output + String.fromCharCode(chr1); if (enc3 != 64) { output = output + String.fromCharCode(chr2); } if (enc4 != 64) { output = output + String.fromCharCode(chr3); } } output = this._utf8_decode(output); return output; },_utf8_decode (utftext) { var string = ""; var i = 0; var c = c1, c1 = c2, c2 = 0, c3;while ( i < utftext.length ) { c = utftext.charCodeAt(i); if (c < 128) { string += String.fromCharCode(c); i++; } else if((c > 191) && (c < 224)) { c2 = utftext.charCodeAt(i+1); string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); i += 2; } else { c2 = utftext.charCodeAt(i+1); c3 = utftext.charCodeAt(i+2); string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); i += 3; } } return string; },
或者使用插件试试 附上参考链接 本人未使用过
https://www.cnblogs.com/liangpi/p/11821975.html
base 64 转码解码 表情包emoji转码相关推荐
- 小程序源码《表情包多样版》
提示:这是一款学习使用的小程序 文章目录 前言 一.小程序是什么? 二.学习步骤 1.要有一定前端基础 2.有基础的,直接看官方文档 三.小程序源码<表情包多样版> 前言 为什么要学习小程 ...
- 微信小程序:云开发表情包制作源码
该款小程序是一个表情包制作 内容毕竟丰富,另外自定义制作方面也是特别的自由 支持自主上传图片,自定义文章,另外拥有多种素材模板以供选择 这是一款云开发的小程序,但是安装还是挺简单的 搭建教程: 首先使 ...
- C# base 64图片编码解码
使用WinForm实现了图片base64编码解码的 效果图: 示例base 64编码字符串: /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKD ...
- Java聊天表情包emoji保存到Mysql数据库
一.系统要求,聊天系统聊天中使用 emoji 表情包,直接按字符串存到数据库中会报错.主要是编码问题,mysql的utf8最多三个字节,一个 emoji 表情点4个字节,所以出错,新版的mysql有新 ...
- 表情包-Emoji符号
以下表情包,可直接复制使用 表情类
- mysql数据库插入表情包emoji表情,出错解决方案
0.插入含有特殊符号的昵称报错 ### SQL: INSERT INTO user ( uuid_tiktok, nickname, person_img_url, ...
- linux内核源码制作rpm包,cmatrix源码包制作rpm包
第一步:下载cmatrix.tar.gz(包含有已写好的cmatrix.spec文件) 第二步:检测编译环境: # yum isntall gcc gcc-c++ make rpm-bulid # r ...
- 小程序源码:聊天斗图微信表情包
这是一款微信表情包小程序 支持自定义搜索,另外支持长按发送给好友 当然也支持长按保存表情包 这个源码比较单调一点,没有那么多的分类 小程序源码下载地址: 小程序源码:聊天斗图微信表情包-小程序文档类资 ...
- 小程序源码:聊天斗图微信表情包-多玩法安装简单
这是一款微信表情包小程序 支持自定义搜索,另外支持长按发送给好友 当然也支持长按保存表情包 这个源码比较单调一点,没有那么多的分类 小程序源码下载地址: 小程序源码:聊天斗图微信表情包-多玩法安装简单 ...
最新文章
- 【JNI】JNI中java类型的简写
- 第二周数据采样过程及结果
- poj 3177 Redundant Paths
- 批处理for命令详解(转) 批处理for命令详解
- mysql5.7.19设置_MySQL5.7.19安装配置
- ADOMD.net概述
- winForm入门学习
- hadoop项目实战--ETL--(三)实现mysql表到HIVE表的全量导入与增量导入
- PhotoSwipe异步动态加载图片
- AI 时代,为何机器人公司无法盈利只能走向倒闭?
- IPTV软件提取后无法安装:显示安装失败,需求的共享用户签名错误!请大神帮助,谢谢
- Q Learning学习笔记
- 贝叶斯公式的最通俗解释
- panic recovered, err: runtime error: invalid memory address or nil pointer dereference 怎么排查问题
- linux杀死ltp进程,LTP套件使用方法详解
- 计算机网络 密钥分配
- 阅读笔记:Blindly Assess Image Quality in the Wild Guided by A Self-Adaptive Hyper Network
- 神经网络低比特量化——LSQ
- 故障--桥接网卡的坑
- 判断边界由1组成的最大正方形面积