微信消息收发与微信内部emoji表情转义

news2025/1/23 21:11:25

微信消息收发与微信内部emoji表情转义

目录

微信内部emoji表情转义与消息收发

一、概述

二、常用标准emoji表情字符、微信内部转义符、unicode对照表

1、比如

2、微信聊天窗口emoji表情字符

2.1、PC端表情选择,01~03排:

2.2、PC端表情选择,04~06排:

2.3、PC端表情选择,07~09排:

2.4、PC端表情选择,10~12排:

2.5、PC端表情选择,13~14排:

三、xml解析的注意事项

3.1、微信推送下发的消息中,不要删除类似上述表情字符

3.2、如果用户输入包含回车换行符,尽量回复用户避免

3.3、回复策略Json代码最好内存加载

3.4、微信内部标准emoji与unicode emoji并不完全相等


一、概述

        在开发和运行基于微信的二次元应用期间,当用户和微信公众号(或其二次元衍生产品,比如:小程序等)之间,进行会话时,微信服务器和你的服务器之间,会进行消息的推送和回复操作,其中的消息,由于用户的输入,可能包含微信“表情”类符号:

  

二、常用标准emoji表情字符、微信内部转义符、unicode对照表

1、比如


  微信内部转义符   含义     emoji        unicode              unicode微信转义
  /:strong               点赞     (略)        (略)               (略)   
  /:rose                 玫瑰花   (略)        (略)               (略)
  /:heart                 红心     (略)        (略)               (略)
  /::)                       微笑        😊          \u1F60A              \u002f\u003a\u003a\u0029
  /::D                      呲牙     (略)        (略)               (略)
  /:,@P                  偷笑     (略)        (略)               (略)
  🙏                       合十        🙏          \ud83d\ude4f

2、微信聊天窗口emoji表情字符

        你可直接将其用于与微信内部的消息交互,避免双方代码二次转化以提高效率:

2.1、PC端表情选择,01~03排:


/::)       /::~       /::B        /::|        /:8-)       /::<        /::$        /::X
/::Z       /::'(      /::-|       /::@        /::P        /::D        /::O        /::(
/:--b      /::Q       /::T        /:,@P       /:,@-D      /::d        /:,@o       /:|-)


2.2、PC端表情选择,04~06排:


/::!       /::>       /::,@       /::-S       /:?         /:,@x       /:,@@       /:,@!
/:!!!      /:xx       /:bye       /:wipe      /:dig       /:handclap  /:B-)       /:@>
/:>-|      /:P-(      /::'|       /:X-)       /::*        /:8*        [Happy]     [Sick]


2.3、PC端表情选择,07~09排:


[Flushed]  [Lol]       [Terror]   [LetDown]   [Duh]       [Hey]      [Facepalm]  [Smirk]
[Smart]    [Concerned] [Yeah!]    [Onlooker]  [GoForIt]   [Sweats]   [OMG]       [Emm]
[Respect]  [Doge]      [NoProb]   [MyBad]     [Wow]       [Boring]   [Awesome] [LetMeSee]


2.4、PC端表情选择,10~12排:


[Sigh]     [Hurt]      [Broken]   /:showlove  /:heart     /:break     /:hug     /:strong
/:weak     /:share     /:v        /:@)        /:jj        /:@@        /:ok      [Worship]
/:beer     /:coffee    /:cake     /:rose      /:fade      /:pd        /:bome    /:shit


2.5、PC端表情选择,13~14排:


/:moon     /:sun       [Party]    /:gift      [Packet]    [Rich]   [Blessing] [Fireworks]
[爆竹]     /:pig       /:jump     /:shake      /:circle

/* 常用标准emoji表情字符、微信内部转义符、unicode对照表  ,

1、比如:
  微信内部转义符   含义     emoji        unicode              unicode微信转义
  /:strong        点赞     (略)        (略)               (略)   
  /:rose          玫瑰花   (略)        (略)               (略)
  /:heart         红心     (略)        (略)               (略)
  /::)            微笑      😊          \u1F60A              \u002f\u003a\u003a\u0029
  /::D            呲牙     (略)        (略)               (略)
  /:,@P           偷笑     (略)        (略)               (略)
  🙏              合十      🙏          \ud83d\ude4f

2、微信聊天窗口emoji表情字符,你可直接将其用于与微信内部的消息交互,避免双方代码二次转化以提高效率

2.1、PC端表情选择,01~03排:
/::)       /::~       /::B        /::|        /:8-)       /::<        /::$        /::X
/::Z       /::'(      /::-|       /::@        /::P        /::D        /::O        /::(
/:--b      /::Q       /::T        /:,@P       /:,@-D      /::d        /:,@o       /:|-)
2.2、PC端表情选择,04~06排:
/::!       /::>       /::,@       /::-S       /:?         /:,@x       /:,@@       /:,@!
/:!!!      /:xx       /:bye       /:wipe      /:dig       /:handclap  /:B-)       /:@>
/:>-|      /:P-(      /::'|       /:X-)       /::*        /:8*        [Happy]     [Sick]
2.3、PC端表情选择,07~09排:
[Flushed]  [Lol]       [Terror]   [LetDown]   [Duh]       [Hey]      [Facepalm]  [Smirk]
[Smart]    [Concerned] [Yeah!]    [Onlooker]  [GoForIt]   [Sweats]   [OMG]       [Emm]
[Respect]  [Doge]      [NoProb]   [MyBad]     [Wow]       [Boring]   [Awesome] [LetMeSee]
2.4、PC端表情选择,10~12排:
[Sigh]     [Hurt]      [Broken]   /:showlove  /:heart     /:break     /:hug     /:strong
/:weak     /:share     /:v        /:@)        /:jj        /:@@        /:ok      [Worship]
/:beer     /:coffee    /:cake     /:rose      /:fade      /:pd        /:bome    /:shit
2.5、PC端表情选择,13~14排:
/:moon     /:sun       [Party]    /:gift      [Packet]    [Rich]   [Blessing] [Fireworks]
[爆竹]     /:pig       /:jump     /:shake      /:circle
//
//
*/

测试微信的自带默认emoji内部表达01_03:/::)  /::~  /::B  /::|  /:8-)  /::<  /::$  /::X  /::Z  /::'(  /::-|  /::@  /::P  /::D  /::O  /::(  /:--b  /::Q  /::T  /:,@P  /:,@-D  /::d  /:,@o  /:|-)
测试微信的自带默认emoji内部表达04_06:/::! /::> /::,@ /::-S /:? /:,@x /:,@@ /:,@! /:!!! /:xx /:bye /:wipe /:dig /:handclap /:B-) /:@> /:>-| /:P-( /::'| /:X-) /::* /:8* [Happy] [Sick]
测试微信的自带默认emoji内部表达07_09:[Flushed] [Lol] [Terror] [LetDown] [Duh] [Hey] [Facepalm] [Smirk] [Smart] [Concerned] [Yeah!] [Onlooker] [GoForIt] [Sweats] [OMG] [Emm] [Respect] [Doge] [NoProb] [MyBad] [Wow] [Boring] [Awesome] [LetMeSee]
测试微信的自带默认emoji内部表达10_12:[Sigh] [Hurt] [Broken] /:showlove /:heart /:break /:hug /:strong /:weak /:share /:v /:@) /:jj /:@@ /:ok [Worship] /:beer /:coffee /:cake /:rose /:fade /:pd /:bome /:shit
测试微信的自带默认emoji内部表达13_14:/:moon /:sun [Party] /:gift [Packet] [Rich] [Blessing] [Fireworks] [爆竹] /:pig /:jump /:shake /:circle

三、xml解析的注意事项

3.1、微信推送下发的消息中,不要删除类似上述表情字符

        因为有可能你需要将其做原样转发给“客服”:

3.2、如果用户输入包含回车换行符,尽量回复用户避免

        这样会加重你的XML解析类实例的工作负荷,高并发时,会影响应用的“算力”性能、消耗CPU:

3.3、回复策略Json代码最好内存加载

       比如:

        其字节数不大,可作为常量来配置,或作为外部导入变量来对待,故,回复策略Json代码最好内存加载,而不要反复读写外部文件。因为作为外部文件读取:

        (1)、高并发会导致:磁盘读写的高I/O;

        (2)、如作为外部文件随服务器启动而加载Json,则该文件系统应当”非独占“模式,否则服务的管理前端应用在改写该配置文件时,会导致读写冲突。

3.4、微信内部标准emoji与unicode emoji并不完全相等

       微信内部标准emoji与unicode emoji并不完全相等,微信emoji应为unicode emoji的子集:

        两者的主要区别在于,微信在后者的基础之上,加入了”文本呈现“及”肤色“等修饰符;再加以扩充。

        作为标准字符,微信肯定都支持收发,但其内部转义符,会丢失。

const e=[
  {
    "__emoji__":"😀 😁 😂 😃 😄 😅 😆 😇 😈 😉 😊 😋 😌 😍 😎 😏 😐 😑 😒 😓 😔 😕 😖 😗 😘 😙 😚 😛 😜 😝 😞 😟 😠 😡 😢 😣 😤 😥 😦 😧 😨 😩 😪 😫 😬 😭 😮 😯 😰 😱 😲 😳 😴 😵 😶 😷 😸 😹 😺 😻 😼 😽 😾 😿 🙀 🙁 🙂 🙃 🙄 🙅 🙆 🙇 🙈 🙉 🙊 🙋 🙌 🙍 🙎 🙏 🙐 🙑 🙒 🙓 🙔 🙕 🙖 🙗 🙘 🙙 🙚 🙛 🙜 🙝 🙞 🙟 🙠 🙡 🙢 🙣 🙤 🙥 🙦 🙧 🙨 🙩 🙪 🙫 🙬 🙭 🙮 🙯 🙰 🙱 🙲 🙳 🙴 🙵 🙶 🙷 🙸 🙹 🙺",
    "__emoji2unicode__":"",
    "?emoji2unicode":"console.log('😁'.codePointAt(0).toString(16)); console.log(String.fromCodePoint('0x1f60A')); ",
    "Key": "产品",
    "Value": ["了解产品","看看产品","产品介绍","产品简介","产品功能","产品有哪些功能","产品性能","产品特点","产品有哪些特点"],
    "Replay": "'感谢您关注本公司产品,建议您先阅读下述《牵引软件产品导读》,概要性的了解本公司产品能为您解决哪些方面的问题:'+sLineBreak"
  }
];
let index =-1; 
let rsEml='';let rs='';
let totalLines =-1;
let arr = e[0].__emoji__.split(' '); // 1F600-1F64F

totalLines = Math.ceil( (arr.length) / 8);
//console.log("多少和emoji字符: "+arr.length.toString(),"多少个8行: "+totalLines.toString());
for (let index = 0; index < arr.length; index++) {
  const element = (arr[index]).toString();// JavaScript 使用 UTF-16 编码,其中每个 Unicode 字符可以编码为一个或两个代码单元,因此 length 返回的值可能与字符串中 Unicode 字符的实际数量不匹配
  if (( (index+1) % 8) === 0) {
    rsEml = rsEml + element + "\r\n"; 
    rs = rs 
      + ""+element.codePointAt(0).toString(16)+(" ").repeat(1) + "\r\n";  
  }; 
  if (( (index+1) % 8) !== 0) {
    rsEml = rsEml + element +(" ").repeat( 5 ); 
    rs = rs 
      + ""+element.codePointAt(0).toString(16)+(" ").repeat(2);     
  }
}; 

console.log(rsEml);
console.log(rs);

喜欢的,就收藏并点个赞,鼓励我继续技术的原创写作及经验分享:

1、《影响WebPack部署的常见因素及解决办法》

2、javascript与delphi、C++ Builder

3、《emoji与UTF-16、UCS-4、unicode的关系、原理和换算》 ​​​​​​​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/105279.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华为IMC培训——通信基础

目录 一、华为设备图标 二、数据的传递 三、专业术语 四、网络设备及相关知识 五、OSI七层模型 六、TCP和UDP数据报格式 七、TCP的三次握手 八、 TCP窗口滑动机制 一、华为设备图标 AP&#xff1a;相当于家用路由器一般配和AC使用。 AC和AP的区别_wangzhibo_csdn的博客…

创意被盗用,这3个加水印方法,让照片刻上我们专属印记

一般我们为了保护自己的图片不被别人盗用&#xff0c;都会选择在图片上刻上专属印记。那么便是加水印方法&#xff0c;它包含两种&#xff1a;文字水印和图片水印。想知道怎么给图片添加水印吗&#xff1f;其实有很多种法子可以做到&#xff0c;下面就由我来分享这3个简单好用的…

代码随想录刷题记录 day48 两个字符串的删除操作+编辑距离

代码随想录刷题记录 day48 两个字符串的删除操作编辑距离 583. 两个字符串的删除操作 思想 两个元素都能删除了&#xff0c;还是考虑第i-1个字符和第j-1个字符是不是相同的&#xff0c;不相同的话考虑三种情况&#xff0c;删除i-1&#xff1b;删除j-1&#xff0c;同时删除 1…

css实现鼠标禁用(鼠标滑过显示红色禁止符号)

css实现鼠标禁用&#xff08;鼠标滑过显示红色禁止符号&#xff09;创作背景css鼠标禁用创作背景 从本文开始&#xff0c;将会用三篇文章来一步一步实现vueantdts实战后台管理系统中table表格的不可控操作。中间会补充两篇css知识文章&#xff0c;方便后续功能的实现。实现表格…

非零基础自学Golang 第14章 反射 14.2 基本用法 14.2.2 获取类型的值 14.2.3 使用反射调用函数

非零基础自学Golang 文章目录非零基础自学Golang第14章 反射14.2 基本用法14.2.2 获取类型的值14.2.3 使用反射调用函数第14章 反射 14.2 基本用法 14.2.2 获取类型的值 Go语言使用reflect.TypeOf来获取类型信息&#xff0c;使用reflect.ValueOf来获取变量值的信息。 refle…

云原生|kubernetes|CKA真题解析-------(6-10题)

第六题&#xff1a; service配置 解析&#xff1a; 考察两个知识点&#xff1a; deployment控制器内的port命名 暴露一个pod内的端口到新建的服务内的 这里有一个需要注意的地方&#xff0c;没有告诉你deployment控制器在哪个namespace。假设这个front-end这个pod是在A这个…

前端CSS Flex布局8大重难点知识,收藏起来吧

2009年&#xff0c;W3C提出了一种新的方案—-Flex布局&#xff0c;可以简便、完整、响应式地实现各种页面布局。目前&#xff0c;它已经得到了所有浏览器的支持&#xff0c;这意味着&#xff0c;现在就能很安全地使用这项功能。 Flex布局将成为未来布局的首选方案。这也是学习前…

Spring之底层架构核心概念-BeanDefinition

目录1.什么是BeanDefinition&#xff1f;2.如何生成BeanDefinition?2.1. Component2.1. bean标签2.3. Bean注解2.4. AbstractBeanDefinition2.5. 利用BeanDefinition 读取器-解析类2.6. XmlBeanDefinitionReader - 解析 xml文件2.7. ClassPathBeanDefinitionScanner 扫描生成 …

2022年度回顾 | 技术篇:突破公链不可能三角的努力

2022年接近尾声&#xff0c;驻足回看行业这一年的跌宕起伏&#xff0c;无论是技术的突破&#xff0c;应用的创新&#xff0c;还是生态的兴衰&#xff0c;皆成为了行业发展的历史注脚。如往年一样&#xff0c;万向区块链于年末推出重磅年度回顾系列文章&#xff1a;《公链技术篇…

一款免费的开源的 Switch 模拟器,支持超过3200款游戏

一款免费的开源的 Switch 模拟器&#xff0c;支持超过3200款游戏。 Ryujinx是一个开源的任天堂Switch模拟器&#xff0c;由gdkchan创建&#xff0c;用C#编写。该模拟器旨在提供卓越的准确性和性能、用户友好的界面和一致的构建。它是从头开始编写的&#xff0c;于2017年9月开始…

深度学习——锚框(笔记)

1.锚框的解释 目标检测算法中&#xff0c;通常会在输入图像中采样大量区域&#xff0c;然后判断这些区域是否包含所感兴趣的目标&#xff0c;并调整区域边界从而更加准确的预测目标真实的边缘框。 ①一类目标检测算法是基于锚框的 ②提出多个框被称为锚框的区域&#xff08;…

GIS开发入坑(三)--QGIS制作行政区划及背景图层

QGIS&#xff0c;功能强大的GIS工具&#xff0c;地理信息开发中的必备神器&#xff0c;今天以南京市为例制作行政区划并使用电子地图为数字底图进行呈现。 1.获取行政区划数据 阿里云的可视化平台提供了便捷的中国行政区划数据获取方式&#xff0c;数据层级最小到区县级。 htt…

游戏视频录制用什么软件?这2款软件,用过都说好

小编相信很多朋友在游戏中都有精彩的操作。有些朋友想和朋友分享他们在游戏中的精彩操作&#xff0c;但他们不知道有什么容易使用的免费游戏视频录制软件&#xff0c;可以记录他们在游戏中的亮眼表现。那么&#xff0c;哪个电脑游戏视频录制软件容易使用和免费呢&#xff1f;接…

【树莓派不吃灰】兄弟连篇⑤ 服务管理

目录1、服务分类2、rpm安装服务&#xff08;旧版本系统&#xff09;3、源码包安装&#xff08;旧版本系统&#xff09;❤️ 博客主页 单片机菜鸟哥&#xff0c;一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2022-12-20 ❤️❤️ 本篇更新记录 2022-12-20 ❤️&#x1f3…

环境多介质逸度模型实践技术与典型案例【代码】应用

随着污染物在各种环境中的迁移和转化&#xff0c;多介质污染物模型日益受到关注。在各类多介质模型中&#xff0c;基于逸度概念的逸度模型由于运用范围广&#xff0c;建模数据要求较低而广受欢迎。 【原文链接】&#xff1a; 环境多介质逸度模型实践技术与典型案例【代码】应用…

《集体智慧编程》笔记(4 / 12):搜索与排名

由于书本未提供数据文件且提供的链接无法被链接且pysqlite安装失败&#xff0c;所以本章只是阅读学习。 文章目录搜索引擎的组成一个简单的爬虫程序使用urllib2爬虫程序的代码建立索引建立数据库Schema在网页中查找单词加入索引查询基于内容的排名归一化函数单词频度文档位置单…

JAVA面试(关于技术深耕方向和职业规划)

人的精力有限&#xff0c;制定清晰明确的技术发展方向&#xff0c;会使自己少走很多弯路。经过快10年的工作&#xff0c;我现在主要给自己在技术上定了这几个方向。 1、专注JAVA开发。 2、专注JAVA架构。 3、专注JAVA项目运维。 4、专注数字化业务项目。 5、专注JAVA项目的…

Springboot事件监听+@Async注解

文章目录一、不求甚解二、人云亦云三、刨根问底四、曲突徙薪一、不求甚解 在开发中经常可以利用Spring事件监听来实现观察者模式&#xff0c;进行一些非事务性的操作&#xff0c;如记录日志之类的。 Controller Controller中注入ApplicationEventPublisher&#xff0c;并利用…

内科大软件工程导论复习内容笔记

文章目录一、 概念&#xff08;共60分&#xff0c;单选题、多选题&#xff09;1. 软件是程序、数据、文档的集合。2. 软件的分类&#xff08;按规模、性质分&#xff09;3. 软件危机的表现、缓解软件危机的途径4. 软件工程方法学主要有两种&#xff1a;结构化的软件工程方法学_…

借助 Material Design,帮助您打造更好的无障碍应用 (上篇)

随着时代的发展&#xff0c;"无障碍体验" 对开发者的意义也愈发重大。我们准备了无障碍设计文章&#xff0c;帮助您为更多用户打造精彩应用。本文是第一篇内容&#xff0c;将为您介绍辅助技术&#xff0c;层次结构&#xff0c;颜色和对比度等内容。了解无障碍改进产品…