android+表情符号乱码,Android Emoji表情截取不完整,乱码
问题根本
截取不完整,原本完整的一段表情,被当做成2个字节截取了。当表情在截取边界的时候就会出现乱码。
解决思路
从按字节截取,改为按字符截取。
/**
* Emoji 添加截取工具类
* @param resourse 源字符串
* @param length 需要保留几个字,一个Emoji算一个字
* @return
*/
public static String subStr(@NonNull String resourse, int length){
char[] chars = resourse.toCharArray();
StringBuilder stringBuilder = new StringBuilder();
int sum = 0;
for (int i = 0; i < chars.length; i++) {
if (sum > length - 1) {
break;
}
if (isEmojiCharacter(chars[i])) {
stringBuilder.append(chars[i]);
stringBuilder.append(chars[i + 1]);
i = i + 1;
sum = sum + 1;
}else {
stringBuilder.append(chars[i]);
sum = sum + 1;
}
}
return stringBuilder.toString();
}
}
android+表情符号乱码,Android Emoji表情截取不完整,乱码相关推荐
- android手机自带表情符号,android系统自带Emoji表情与表情描述互相转换
前言 Emoji表情几乎都是有表情描述的,如愤怒的表情会有[愤怒],这样的描述,这里就是举了个列子,至于是什么样的表现形势,这是可以自己定义的.那么这样,一个表情带一个表情描述的好处就是,当我们发送信 ...
- Android自带的emoji表情的使用
原文链接:http://www.itwendao.com/article/detail/53941.html 什么是emoji表情 emoji表情是一种表情符号,在代码中它现在其实是一组遵循Unico ...
- mysql 显示表情符号_mysql 支持emoji 表情字符的解决方法。
1.utf8 字符集最多3个字符,而emoji表情字符是unicode大字符集,需要4个字节表示,所以utf8无法表示. mysql要存储emoji字符,需要设成utf8mb4字符集,意思就是utf8 ...
- android编辑框禁用emoji表情和颜文字
//完美解决输入框中不能输入的非法字符InputFilter inputFilter=new InputFilter() { Pattern pattern = Pattern.compile(&qu ...
- mysql表情符号变为_mysql Emoji表情字符集转换
Java代码 java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94' for column 'name' at row 1 ...
- android表情符号使用,android评论输入表情符号
将String字符串转换为UTF-8编码字符串 /** * 字符串换成UTF-8 * * @paramstr * @return*/ public static String stringToUtf8 ...
- php解析乱码字符串,PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
在PHP中,使substr函数截取字符串末位会出现乱码,因为中文UTF-8编码,每个汉字占3字节,而GB2312占2字节,英文占1字节,截取位不准确,造成断开的字符会把其后的..拉过来一起做一个字,所 ...
- ios 表情符号 键盘_iOS中表情键盘的完整实现方法详解
前言 最近在公司做了个表情键盘的需求,这个需求的技术难度不会很大,比较偏向业务.但是要把用户体验做的好也是不容易的,其中有几个点需要特别注意.话不多说,下面开始正文(注:本文对应的Demo放在Gith ...
- android显示ios emoji表情符号,教程:在 Android 上也能用 iOS 新 Emoji 表情
那是一个阳光明媚的周末,我惬意的躺在床上用着我的 Android 机刷微博,看着网上那些段子手,心情无比的舒畅.直到我看见这么一条: 瞬间百万头羊驼从我心头奔过,他到底发了些什么!?为什么我看不见!! ...
- iOStextField/textView在输入时限制emoji表情的输入
https://www.jianshu.com/p/5227e6aab4d4 2017.02.27 13:08* 字数 146 阅读 6109评论 6喜欢 14 又遇到输入框输入表情的情况了,之前写了 ...
最新文章
- AngularJS 服务(Service)
- Boost:演示了black-scholes option 定价内核
- 灰度共生矩阵纹理特征提取_纹理特征提取
- 切换到 oracle的 hr用户下面练习
- 阿里达摩院拿什么救人?
- 个人三观的东西(1)
- 让一个从未接触过电脑的人测试浏览器
- 苹果新操作系统realityOS曝光
- mysql全局sce_cisco SCE 第二部分 SCE平台的安装配置
- 计算机VB中清除按钮,计算机vb程序设计时计算器清除的代码怎么写
- 银行按揭借款合同范本
- 适合小白的几个入门级Python ocr识别库
- python偏最小二乘法公式_最小二乘法及其python实现详解
- 苹果手机投屏到Windows
- Matlab GUI设计——文件读取和保存uigetfile,uiputfile
- H5API ---(Web存储-拖拽事件-通信-websocket-geolocation)
- 工程项目成本费用明细表_这么简单?成本费用明细表这么填就对了
- jAvA中deprecate,Deprecate in Java 1.6
- 10000条txt数据转为excel表格数据
- android中获取context的多种方法的区别(this,getbascontext(),getApplicationcontext())
热门文章
- 开启双重验证后无法登录Outlook桌面版的解决方法
- inprivate浏览是什么意思_inprivate浏览是什么意思,怎样关闭inprivate浏览器
- Spring Cloud 与 Dubbo 功能对比
- JavaScript(6):回调函数
- C#时间戳与日期时间DateTime格式互转
- VBA字典对象操作技巧
- 华为nova2s应用计算机,华为nova2s 如何打开多个应用 | 手游网游页游攻略大全
- ArcGIS 矢量编辑札记(一):Field Calculator 篇
- SMD和SMT的区别
- 银行卡查询银行卡类型查询及归属地查询