实现用原生键盘输入表情并显示,有两种办法:

发送时将String字符串转换为Unicode编码字符串,显示接收的列表时用Unicode编码字符串转化为String字符串

发送时将String字符串转换为UTF-8编码字符串,显示接收的列表时用UTF-8编码字符串转化为String字符串

将String字符串转换为Unicode编码字符串

只是将中文字符串和emoji表情转换为十六进制Unicode编码字符串:

/**

* 把中文字符串转换为十六进制Unicode编码字符串

*/

public static String stringToUnicode(String s) {

String str = "";

for (int i = 0; i < s.length(); i++) {

int ch = (int) s.charAt(i);

if (ch > 255)

str += "\\u" + Integer.toHexString(ch);

else

str += "\\" + Integer.toHexString(ch);

}

return str;

}

将中文、英文、数字字符串和emoji表情转换为十六进制Unicode编码字符串:

/**

* 把中文字符串转换为十六进制Unicode编码字符串

*/

public static String stringToUnicode(String s) {

String str = "";

for (int i = 0; i < s.length(); i++) {

int ch = (int) s.charAt(i);

if (ch > 255)

str += "\\u" + Integer.toHexString(ch);

else

str += String.valueOf(s.charAt(i));

}

return str;

}

将输入的每个字符转换为unicode编码字符串

/**

* 字符串转换unicode

*/

public static String stringToUnicode(String string) {

StringBuffer unicode = new StringBuffer();

for (int i = 0; i < string.length(); i++) {

// 取出每一个字符

char c = string.charAt(i);

// 转换为unicode

unicode.append("\\u" + Integer.toHexString(c));

}

return unicode.toString();

}

将Unicode编码字符串转换为String字符串

使用正则表达式将Unicode编码字符串转换为string字符串(包括中文、英文、数字、emoji表情)

/**

* 把十六进制Unicode编码字符串转换为中文字符串

*/

public static String unicodeToString(String str) {

Pattern pattern = Pattern.compile("(\\\\u(\\p{XDigit}{2,4}))");

Matcher matcher = pattern.matcher(str);

char ch;

while (matcher.find()) {

ch = (char) Integer.parseInt(matcher.group(2), 16);

str = str.replace(matcher.group(1), ch + "");

}

return str;

}

将每个Unicode编码字符串取出转换为string字符串(包括中文、英文、数字、emoji表情)

/**

* unicode 转字符串

*/

public static String unicode2String(String unicode) {

StringBuffer string = new StringBuffer();

String[] hex = unicode.split("\\\\u");

for (int i = 1; i < hex.length; i++) {

// 转换出每一个代码点

int data = Integer.parseInt(hex[i], 16);

// 追加成string

string.append((char) data);

}

return string.toString();

}

将String字符串转换为UTF-8编码字符串

编码:

/**

* 字符串换成UTF-8

*

* @param str

* @return

*/

public static String stringToUtf8(String str) {

String result = null;

try {

result = URLEncoder.encode(str, "UTF-8");

} catch (UnsupportedEncodingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return result;

}

将UTF-8编码字符串转换为String字符串

解码:

/**

* utf-8换成字符串

*

* @param str

* @return

*/

public static String utf8ToString(String str) {

String result = null;

try {

result = URLDecoder.decode(str, "UTF-8");

} catch (UnsupportedEncodingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return result;

}

android 调出键盘表情_Android 显示输入法中的emoji表情以及String字符相关推荐

  1. Android 显示输入法中的emoji表情以及String字符串转码

    Android 显示输入法中的emoji表情以及String字符串转码 实现用原生键盘输入表情并显示,有两种办法: 发送时将String字符串转换为Unicode编码字符串,显示接收的列表时用Unic ...

  2. android 表情字符串,Android 显示输入法中的emoji表情以及String字符串转码

    实现用原生键盘输入表情并显示,有两种办法: 发送时将String字符串转换为Unicode编码字符串,显示接收的列表时用Unicode编码字符串转化为String字符串 发送时将String字符串转换 ...

  3. 微信小程序中使用emoji表情相关说明

    本帖将聚合一些跟emoji表情有关的知识:前端传过来的昵称和备注信息一定要经过严格的正则表达式过滤,放置出现XSS等攻击,另外emoji字体表情库应该使用base64_encode编码,拿信息的时候b ...

  4. php转换emoji表情为图片输出小程序,微信小程序中使用emoji表情相关说明

    本帖将聚合一些跟emoji表情有关的知识:相关文章:"i爱记账" 小程序后端开发小结 第7条经验前端传过来的昵称和备注信息一定要经过严格的正则表达式过滤,放置出现XSS等攻击,另外 ...

  5. MySQL 字符串删除表情符_PHP处理字符中的emoji表情(判断/移除/存储)

    目录判断字符串中是否含有 emoji 表情 移除字符串中的 emoji 表情 含有 emoji 表情的字符串在 MySQL 中的储存 utf-8 编码的 emoji 表情或者某些特殊字符占用 4 个字 ...

  6. 前端显示微信消息中的emoji表情

    本人是微信公众号口开发,发现一些用户发送过来的消息含有emoji表情,然后存到数据库不能正确显示,读出来都是"口口口",这个问题问到我了,我是一个前端小白,对于这种问题,我是很苦恼 ...

  7. java emoji过滤_Android中过滤Emoji表情 完整版

    实际上和Android也没太多关系,主要是数据库没有升级,导致没法存储emoji.另外即使存储了,在其他设备上也不一定能展示出来,所以干脆就过滤掉. 这个与Android无太大关系,主要是获取Emoj ...

  8. H5小程序中实现emoji表情

    H5页面&小程序如何实现emoji表情? emoji表情都非常熟悉了,比如微信的会话窗口可以发表情. 但是仔细看有一个重要的发现,比如朋友给你发一个emoji表情,在聊天会话列表页查看最近消息 ...

  9. markdown中添加Emoji表情让文章更有趣味

    markdown表情 在文章中添加Emoji表情,可以添加文章的趣味性,Emoji使用规则是双::中间加单词 查看全文 http://www.taodudu.cc/news/show-4737612. ...

最新文章

  1. SpringBoot笔记——1
  2. 论文《learning to link with wikipedia》
  3. linux 天文软件,新闻|开源新闻速递:天文软件 Stellarium 0.15.0 发布
  4. 曲线均匀分布_曲线篇:深刻理解B 样条曲线(下)
  5. SAP License:SE16N
  6. 请求到达时先经过过滤器还是拦截器_上海自动卷绕式过滤器价格_康斐净化
  7. Spring的三大核心思想
  8. python绝对值_绝对值排序 (Python代码)
  9. 周鸿祎麻辣点评中国互联网公司
  10. Python返回列表的中位数
  11. 挂耳耳机十大品牌排行榜哪个好,目前排行靠前的五款耳机推荐
  12. 查看 Linux 进程 巧用ps|grep命令
  13. webpack-dev-server的代理(proxy)
  14. 电口以太网物理层一致性测试原理与过程
  15. C++实现日志功能:log4c(Win10+VS2017+CMake)
  16. 安徽科技学院 信网学院网络文化节 房辉
  17. Samba服务+Samba实验
  18. 分析 | NFTScan NFT API 在加密钱包开发中的应用
  19. 【备忘】新浪微博Android客户端开发完整视频 下载
  20. 购物网站的秒杀计时器实现

热门文章

  1. 百位红人助阵,如涵这场影响力盛典点亮夜钱塘
  2. Qt QTreeWidget/QTreeView去焦点(虚线框)
  3. 对标苹果,小米的漫长激情与征程
  4. 两张显卡在win10上如何使用
  5. CPU巨型机,大型机,中型机,小型机和微型计算机中央处理器都称为CPU、MPU(微型化的CPU,在微机中CPU=MPU)、MCU和SOC
  6. 【NLP】动手实现一个句子生成器
  7. uniapp tabBar角标问题
  8. 如何用java取对数_使用Java中的Math.log获取自然对数值
  9. 企业微信组织架构同步优化的思路
  10. RK3588 调试 phy