今天基于项目的需要,研究了一下windows phone 8里面的Emoji实现。如果大家用过wp版本的微信或者qq,相比一定对它里面的表情符号影像深刻吧!是的,只要你细看一下,其实在微信里面包括两种表情符号,一种是系统自带的emoji,另一种就是微信自己加上去的。对于系统自带的我们稍后来说,让我们先看一下微信是如何自定义表情的呢?其实很简单,它只要在定义家口的时候约定一张对应表格,比如“微笑”对应一个编码,然后再对应一种图片。类似于这种:,然后图片存放在本地,根据对应文本信息设计一套算法解析对应的图片。

那么系统里面自带的emoji,我们应该怎样去获取呢?让我们先来讲一件emoji的实现原理吧!其实不同的emoji都有单独的对应编码,比如在windows phone里面我们可以给一个textblock.text赋值为:\ud83d\ude01,它将显示一张笑脸,对应的常用emoji编码为:

 switch (count)
{
case :
myRun1.Text = "\ud83d\ude01";
break;
case :
myRun1.Text = "\ud83d\ude02";
break;
case :
myRun1.Text = "\ud83d\ude03";
break;
case :
myRun1.Text = "\ud83d\ude04";
break;
case :
myRun1.Text = "\ud83d\ude05";
break;
case :
myRun1.Text = "\ud83d\ude06";
break;
case :
myRun1.Text = "\ud83d\ude07";
break;
case :
myRun1.Text = "\ud83d\ude08";
break;
}

如果你需要更多的话,可以将后面的16位编码一次加一,就可以变换成另一种emoji,这是对应的编码表格:,当然wiki里面还有更多。其实如果利用keydown事件测试的话,我们发现按下不管哪个emoji的时候,产生的key都是unknow,这就是说我们不能通过获取key的方式,来显示对应的emoji,那么我们可以不可以直接接受textblock里面emoji输入之后的text呢?其实这是可以的,我们只要自己去摘取我们需要的emoji,然后显示出来就可以了。

Windows Phone Emoji的更多相关文章

  1. Windows 10 Emoji shortcuts

    Windows 10 Emoji shortcuts Windows 10 Emoji 快捷方式 https://support.microsoft.com/en-us/windows/windows ...

  2. [图]Windows 10 Build 16273版本更新发布:新增可变式字体Bahnschrift

    在经历了长达三周的等待之后,微软于今天终于面向Windows Insider项目的Fast通道用户发布了Windows 10 Build 16273版本更新.事实上,微软应该会在两周前就应该发布新版本 ...

  3. C# emoji 表情如何插入mssql

    如何将emoji表情存入mssql 呢? 在Windows显示emoji(win7需要安装补丁) 在MAC完美支持 步骤就是将显示不出来的emoji UrlEncode=>进入MSsql 然后拿 ...

  4. Yarn vs npm:你需要知道的一切(转)

    转载:https://zhuanlan.zhihu.com/p/23493436 原文链接:Yarn vs npm: Everything You Need to Know Facebook.Goog ...

  5. Windows新终端中玩转ASCII和Emoji游戏的正确姿势

    Windows新终端中玩转ASCII和Emoji游戏的正确姿势 前一段时间,我搬运了几个Windows Terminal中玩游戏的视频,详情请看 发布在即!来一睹官方团队如何玩转 Windows Te ...

  6. windows中mysql5.7保存emoji表情

    1.找到my.ini文件,修改一下配置: [client] default-character-set=utf8mb4 [mysqld] character-set-client-handshake ...

  7. 背水一战 Windows 10 (31) - 控件(按钮类): ButtonBase, Button, HyperlinkButton, RepeatButton, ToggleButton, AppBarButton, AppBarToggleButton

    [源码下载] 背水一战 Windows 10 (31) - 控件(按钮类): ButtonBase, Button, HyperlinkButton, RepeatButton, ToggleButt ...

  8. 背水一战 Windows 10 (28) - 控件(文本类): TextBox, PasswordBox

    [源码下载] 背水一战 Windows 10 (28) - 控件(文本类): TextBox, PasswordBox 作者:webabcd 介绍背水一战 Windows 10 之 控件(文本类) T ...

  9. 背水一战 Windows 10 (27) - 控件(文本类): TextBlock

    [源码下载] 背水一战 Windows 10 (27) - 控件(文本类): TextBlock 作者:webabcd 介绍背水一战 Windows 10 之 控件(文本类) TextBlock 示例 ...

随机推荐

  1. Linux操作系统下三种配置环境变量的方法——转载

    来源:赛迪网 作者:millio       现在使用linux的朋友越来越多了,在linux下做开发首先就是需要配置环境变量,下面以配置java环境变量为例介绍三种配置环境变量的方法. 1.修改/e ...

  2. phonegap/cordova 升级版本

    调用语句 : windows用户 npm update -g cordova 如果是 mac系统的用户  使用: 查看cordova信息 npm info cordova 查看cordova 版本 查 ...

  3. 实现web页面按比例缩放

    对于web的掌握限于可以看懂别人的代码,并在框架中作相应修改或增加. 今天把另一个项目中的网页源代码粘过来做一个页面,结果问题百出. 首先,同样的代码,放在自己的项目里,页面排版错乱,看了下,引用的w ...

  4. 洛谷P2724 联系 Contact

    P2724 联系 Contact 17通过 86提交 题目提供者该用户不存在 标签 难度普及/提高- 提交  讨论  题解 最新讨论 暂时没有讨论 题目背景 奶牛们开始对用射电望远镜扫描牧场外的宇宙感 ...

  5. C#中DataTable转换JSON

    #region 将DataTable转换为json public string dt2json(DataTable dt) { JavaScriptSerializer jss = new JavaS ...

  6. 【IHttpHandler】ASP.NET 生命周期

    对由 Microsoft® Internet 信息服务 (IIS) 处理的 Microsoft® ASP.NET 页面的每个请求都会被移交到 ASP.NET HTTP 管道.HTTP 管道由一系列托管 ...

  7. spring+hibernate--直接修改数据库,再通过hibernate查询数据不变

    这个问题已经很多天了,一直没有时间解决,不过还好是自己的项目,没什么影响. 刚好今天没事,想好好解决一下这个问题. hibernate主要配置如下: <property name="h ...

  8. hbase删除region块的脚本

    删除hbase表region块脚本 文件hua.txt格式: CHAT_INFO,1318153079100530000314050,1318173760068.991ca04ff164c3f7987 ...

  9. pig命令行快捷键

    删除 ctrl + d 删除光标所在位置上的字符相当于VIM里x或者dl ctrl + h 删除光标所在位置前的字符相当于VIM里hx或者dh ctrl + k 删除光标后面所有字符相当于VIM里d ...

  10. 请注意designer中的NAME field

    If you are trying to set the value of a field through PeopleCode and that field happens to be NAME t ...