今天基于项目的需要,研究了一下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. CISCO动态VLAN配置

    一.基于VMPS的动态VLAN配置实例 网络中VLAN实现分为静态 VLAN和动态VLAN.静态VLAN又被称为是基于端口的VLAN.顾名思义,就是明确指定各端口属于哪个VLAN的设定方法,交换机中某 ...

  2. 如何去掉有背景图的a标签的边框

    有两种情况: 1.<a href="#" style="background:url(../images/download.png);"></ ...

  3. linux下DNS设置以及解析顺序

    1.编辑/etc/resolv.conf文件,添加如下语句: nameserver dns_ip(例如nameserver 8.8.8.8) 2.如/etc/nsswitch.conf中未包含启用DN ...

  4. WF4 持久化 <第四篇>

    一.基础示例 WF4 默认支持SQLServer的持续化,首先要执行目录C:\Windows\Microsoft.NET\Framework\v4.0.30319\SQL\en下的脚本: SqlPer ...

  5. Java中可变长参数的使用及注意事项

    在Java5 中提供了变长参数(varargs),也就是在方法定义中可以使用个数不确定的参数,对于同一方法可以使用不同个数的参数调用,例如print("hello");print( ...

  6. DELL服务器SAS 5 I_R 完全配置手册

    http://wenku.baidu.com/view/f258a36eb84ae45c3b358c55.html?re=view

  7. 1.1Android系统架构

    Android目前是一个非常优秀的嵌入式系统,具有非常完善的系统架构! Android系统架构分为4层:(从下至上) 第一层:Linux内核层,包括驱动程序以及管理内存.进程.电源等资源的程序 因为A ...

  8. leetcode2:Add Two Numbers

    Add Two Numbers Total Accepted: 55216 Total Submissions: 249950My Submissions You are given two link ...

  9. Linux使用Shell脚本实现ftp的自动上传下载

    1. ftp自动登录批量下载文件. #####从ftp服务器上的/home/data 到 本地的/home/databackup#####!/bin/bashftp -n<<!open 1 ...

  10. Cookie与Session的一些总结

    一.Cookie: Cookie主要存储一些不敏感的数据,只能存储字符串类型 执行过程: (1)第一次请求: 客户端将数据(比如用户名)以请求报文的形式请求服务器端响应, 服务器端得到数据(用户名), ...