android emoji转换成字符串,安卓的emoji表情转换为文字
由于安卓系统显示的emoji表情不那么好看,所以在项目的聊天里面使用了自己的图片代替了系统的emoji显示,但是问题来了,在收到消息通知的时候,通知栏并没有显示自定义的emoji显示,而是显示了系统的emoji表情,没办法,只好上网查一下解决方法,最终成功将emoji表情转化为“[表情]”。
关键方法如下:
/**
* 判别是否包含Emoji表情
*
* @param str
* @return
*/
private static boolean containsEmoji(String str)
{
int len = str.length();
for (int i = 0; i < len; i++)
{
if (isEmojiCharacter(str.charAt(i)))
{
return true;
}
}
return false;
}
/**
* 是否是emoji字符
*
* @param codePoint
* @return
*/
private static boolean isEmojiCharacter(char codePoint)
{
return !((codePoint == 0x0) || (codePoint == 0x9) || (codePoint == 0xA)
|| (codePoint == 0xD)
|| ((codePoint >= 0x20) && (codePoint <= 0xD7FF))
|| ((codePoint >= 0xE000) && (codePoint <= 0xFFFD))
|| ((codePoint >= 0x10000) && (codePoint <= 0x10FFFF)));
}
/**
* 将含有EMOJI表情的文字转换
* @param source
* @return
*/
public static String filterEmoji(String source)
{
if (!containsEmoji(source))
{
//不包含emoji就返回原字符串
return source;
}
StringBuilder buf = null;
//获取字符串的长度
int len = source.length();
//逐个检查字符,如果是emoji字符就替换为[表情]
for (int i = 0; i < len; i++)
{
char codePoint = source.charAt(i);
if (!isEmojiCharacter(codePoint))
{
if (buf == null)
{
buf = new StringBuilder(source.length());
}
buf.append(codePoint);
}
else
{
if (buf == null)
{
buf = new StringBuilder(source.length());
}
buf.append("[表情]");
}
}
if (buf == null)
{
return "";
}
else
{
if (buf.length() == len)
{
buf = null;
return source;
}
else
{
return buf.toString();
}
}
}
android emoji转换成字符串,安卓的emoji表情转换为文字相关推荐
- android 日期 转换成字符串,android JAVA字符串转日期或日期转字符串(转)
用法: SimpleDateFormat sdf = new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " ); 这一行最重要,它确立了转换的 ...
- php 把数组转换成字符串_php怎么将数组转换为字符串
php将数组转换为字符串的方法:可以使用implode()函数分割数组,该函数会返回由数组元素组成的字符串.还可以利用循环遍历数组元素并将其拼接成字符串. php将数组转换为字符串的方法 方法1:利用 ...
- php数组转字符串 join,jQuery中将数组转换成字符串join()和push()使用
1.push()将元素依次添加至数组: 2.join()将数组转换成字符串,里面可以带参数分隔符,默认[,] $(document).on('click','.sure',function(){ va ...
- json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值...
json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 原文:json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 主要内容: 一 ...
- testInt转换成字符串
testInt转换成字符串 var i:int = 10; trace(i.toString()); trace(i.toString().length); ...
- C语言基础:时间转换成字符串 strftime的代码
将内容过程中经常用的一些内容段做个记录,下边内容段是关于C语言基础:时间转换成字符串 strftime的内容,希望能对大伙有一些用处. #include <stdio.h> #includ ...
- python 如何将字符串列表合并后转换成字符串? ''.join(List(str))函数
参考文章:python 怎么将列表转换成字符串 temp_list = ['h', 'e', 'l', 'l', 'o'] result = ''.join(temp_list) print(resu ...
- python 如何将字符串数字列表转换成数字列表,如何将数字列表转换成字符串数字列表?map(eval,list(str))
字符串数字列表转换成数字列表 # -*- encoding: utf-8 -*- """ @File : test.py @Time : 2019/10/28 23:37 ...
- 属性拼接转换成字符串_使用一些可选的将字符串配置属性转换为其他类型
属性拼接转换成字符串 有一天,您遇到一些代码,并认为这很漂亮,为什么我没有想到呢? 因此,我的长期同事Mark Warner在使用方法引用处理从String进行转换的标准名称/值存储模式方面有一个不错 ...
最新文章
- oracle 11所选安装,在red hat enterprise linux 5.4上安装oracle11g
- 上一局APP玩边画边猜,第1次见人使用道具,我的游戏体验上升了
- Jzoj4348 打击目标
- 隐藏画质代码_优秀的模糊测试代码是如何炼成的?
- TortoiseGit 自动登录
- 万能指针 和 指针大小与指针步长的区别
- inDesign 教程,如何复制文本格式?
- KMS激活工具原地址
- 如何安装Junit4
- 解读“统一价格分评审方法”
- SDN概述,SDN是什么?
- 芯片的原理应用与分类
- 于娟的忠告----生命只有一次,活着才是王道啊!!!
- 微信是点对点通信吗还是有中间服务器,为什么不建议通过微信、QQ等社交软件进行视频会议?...
- excel =rand() 随机生成数字或区间数字的函数使用
- 单片机小精灵(延时、定时计算软件)
- linux的veth导致网络不通,使用veth-pair和bridge搭建的本地网络环境网络不通
- 6种品牌打印机介绍及打印机旗舰店推荐
- idw matlab 程序_IDW 算法MATLAB 实现
- SQUID工作原理是什么
热门文章
- 用photoshop如何制作背景透明的图片
- 破晓博客-自定义标签的开发
- python计算整数区间[m、n所有整数之和_Python:就区间正整数内所有素数之和
- matplotlib 画双轴子图无法显示 x-轴 坐标轴标签
- 解决源码编译Python3后缺少ssl tkinter,bz2等库的问题
- linux同步两台mysql数据,Mysql入门MySQL 数据库两台主机同步实战(linux)
- 只要不上网,pc机就不会感染计算机病毒,计算机考试试题训练
- 思科 计算机网络 第5章测试考试 答案
- 文本分类:4、工程经验
- MW6MaxiCode ACX溢出