android java char_Android句子迷客户端
package com.example.dabutaizha.lines;
import java.io.UnsupportedEncodingException;
/**
* Copyright (C) 2018 Unicorn, Inc.
* Description :
* Created by dabutaizha on 2018/4/8 下午3:56.
*/
public class ChineseCharToEnUtil {
private final static int[] li_SecPosValue = { 1601, 1637, 1833, 2078, 2274,
2302, 2433, 2594, 2787, 3106, 3212, 3472, 3635, 3722, 3730, 3858,
4027, 4086, 4390, 4558, 4684, 4925, 5249, 5590 };
private final static String[] lc_FirstLetter = { "a", "b", "c", "d", "e",
"f", "g", "h", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s",
"t", "w", "x", "y", "z" };
/**
* 取得给定汉字串的首字母串,即声母串
* @param str 给定汉字串
* @return 声母串
*/
public String getAllFirstLetter(String str) {
if (str == null || str.trim().length() == 0) {
return "";
}
String _str = "";
for (int i = 0; i < str.length(); i++) {
_str = _str + this.getFirstLetter(str.substring(i, i + 1));
}
return _str;
}
/**
* 取得给定汉字的首字母,即声母
* @param chinese 给定的汉字
* @return 给定汉字的声母
*/
public String getFirstLetter(String chinese) {
if (chinese == null || chinese.trim().length() == 0) {
return "";
}
chinese = this.conversionStr(chinese, "GB2312", "ISO8859-1");
if (chinese.length() > 1) // 判断是不是汉字
{
int li_SectorCode = (int) chinese.charAt(0); // 汉字区码
int li_PositionCode = (int) chinese.charAt(1); // 汉字位码
li_SectorCode = li_SectorCode - 160;
li_PositionCode = li_PositionCode - 160;
int li_SecPosCode = li_SectorCode * 100 + li_PositionCode; // 汉字区位码
if (li_SecPosCode > 1600 && li_SecPosCode < 5590) {
for (int i = 0; i < 23; i++) {
if (li_SecPosCode >= li_SecPosValue[i]
&& li_SecPosCode < li_SecPosValue[i + 1]) {
chinese = lc_FirstLetter[i];
break;
}
}
} else // 非汉字字符,如图形符号或ASCII码
{
chinese = this.conversionStr(chinese, "ISO8859-1", "GB2312");
chinese = chinese.substring(0, 1);
}
}
chinese = chinese.toUpperCase();
return chinese;
}
/**
* 字符串编码转换
* @param str 要转换编码的字符串
* @param charsetName 原来的编码
* @param toCharsetName 转换后的编码
* @return 经过编码转换后的字符串
*/
private String conversionStr(String str, String charsetName,String toCharsetName) {
try {
str = new String(str.getBytes(charsetName), toCharsetName);
} catch (UnsupportedEncodingException ex) {
System.out.println("字符串编码转换异常:" + ex.getMessage());
}
return str;
}
}
更多源码 | 好库简介 | 网站地图 | 帮助中心 | 版权说明
Copyright© 2009-2012 OKBASE.NET All Rights Reserved 好库网 版权所有
android java char_Android句子迷客户端相关推荐
- android开发我的新浪微博客户端-用户授权页面UI篇(3.1)
看上面的图,其实这个页面的UI实现不复杂,首先是背景部分的实现这个参考 android开发我的新浪微博客户端-载入页面UI篇(1.1),重点来讲讲这个半透明的弹出对话框窗口是如何实现的,首先新建名为A ...
- android处理服务器的集合,android集合SSH搭建服务器客户端请求
android集合SSH搭建服务器客户端请求 (2012-06-14 06:21:53) 标签: android 服务器 杂谈 android集合SSH搭建服务器客户端请求小弟以前是学的J2EE,由于 ...
- java集成jpush实现客户端推送
代码地址如下: http://www.demodashi.com/demo/13700.html 前言 java 集成jpush 实现客户端推送 ###一.准备工作 开发环境: jdk1.6 Ecli ...
- Android/Java面试题,边面试边成长,为了应试而应试
Android/Java面试题,边面试边成长,为了应试而应试 从今天起,所有面试或遇到过的面试题,都整理到此文章下,提醒自己时刻要学习,同时分享给各位.[部分网上整理] Java基础 1,Java中一 ...
- 用 Java 实现一个远程控制客户端
通过客户端远程操作其他电脑,关机,重启,注销等!是不是都很神奇?!这种正式软件常用于多媒体教学.远程协助.远程遥控设备等.这里我们通过案例,手把手一步步的实现整个过程,自己完成案例后,自然就不会再感觉 ...
- Android java对接建行支付SDK
Android java 对接建行支付 准备工作 创建常量类 编写支付工具类 遇到的坑 用到的工具类 准备工作 在对接建行支付之前,需要准备好这几个东西:商户代码.商户柜台代码.分行代码.公钥 创建常 ...
- Android高仿网易新闻客户端之动态添加标签
承接上一篇文章:Android高仿网易新闻客户端之首页,今天来实现动态添加标签效果. 动态标签页是一个流式布局,实现了宽度自动换行高度自动分配的功能,代码如下: FlowLayout.java pac ...
- android毕业设计——基于Android+Java+Python的手机端办公自动化OA系统设计与实现(毕业论文+程序源码)——办公自动化OA系统
基于Android+Java+Python的手机端办公自动化OA系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Android+Java+Python的手机端办公自动化OA系统设计与实 ...
- 开篇--基于Android的小巫新闻客户端开发
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 开篇-- ...
- android java rsa加密_Android RSA与Java RSA加密不一样标准产生问题的解决方法
最近作一个基于android的客户端,客户端与Java服务器 (MyEclipse自带的Tomcat服务器)的通讯须要实施安全方案.而本人是使用非对称密钥来对数据进行加密的,客户端用公钥加密,服务器用 ...
最新文章
- kali开启禁止或删除ssh 开机启动
- python turtle画气球-micro:bit + LoRa 实现气球追踪
- 一个用WPF做的简单计算器源代码
- 电脑编程教学_梁溪区在线少儿编程哪个机构比较靠谱
- SQL Server 磁盘空间告急(磁盘扩容)转载
- 2018android wear手表,谷歌正开发三款智能手表 Wear OS系统逐步脱离Android范畴
- ios html下拉刷新,Lottie_ios 实现下拉刷新
- 计算机网络-基本概念(8)【网络层】集线器、网桥和路由器的区别
- C语言贪吃蛇如何让蛇一直前进,c++贪吃蛇代码中,哪条代码是让蛇知道前进的
- python将argv作为参数,Python当中的命令行参数sys.argv[]的使用方法
- http常见的get请求方式和set请求方式。
- 排烟管道过长怎么处理_厨房装修失误导致烟道过长该怎么办?
- 阿里云环境迁移记录 - RabbitMQ集群搭建
- 短信sdk:使用阿里云短信sdk
- 机器学习实战-使用matplotlib绘制决策树
- POJ 1273 Dinic
- Codeforces Round #548 (Div. 2) C. Edgy Trees(并查集+快速幂)
- 华为南研所2015年面试经历总结
- python知网查重_学长学姐使用知网查重的经验之谈
- 机器学习期末简答总结