- 浏览: 385608 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (285)
- test (0)
- 分类 (1)
- java (281)
- tttttttttttt (1)
- android程序复制数据库 (1)
- Hibernate 动态 HQL (1)
- java编写扑克的洗牌程序 (1)
- NIO 之 选择就绪模式 (1)
- wpo另类问题:不可轻视的蜘蛛爬行对服务器造成的负担 (1)
- haml (1)
- cvcvcvc (1)
- 开源史上最成功的8个开源产品 (1)
- XML文件转换成Word文件或者Excel文件 (1)
- 一些利用开源浏览器核心开发专用浏览器的连接 (1)
- 毛笔效果简单思路 (1)
- 年终考评以后 (1)
- RFC821 简单邮件传输协议(SMTP)中文定义文档 (1)
- JNI中jstring类型与c语言中的字符串的转换 (1)
- 极限编程(XP)的重构与设计模式 (1)
- MapInfo2005年第三期电子新闻 (1)
- 想到目前各BLOG站点和搜索引擎的一点点缺陷 (1)
- 成功通过DB2的700和701考试 (1)
- 基于记录登陆信息的防止网页暴力破解方法 (1)
- Router路由 (1)
- 终于稍微完整的学习了一下Linux (1)
- android手机通讯录备份还原代码 (1)
- Qt之美(一):d指针/p指针详解 (1)
- DB2 静默安装 (1)
- linux开机启动脚本的顺序 (1)
- Hibernate实体对象的三种状态 (1)
- Hibernate面向对象的hql语句 (1)
- ibatIS调用存储过程 (1)
- Linux启动过程(详细说明) (1)
- C3P0配置 (1)
- memcache安装 (1)
- js event.keyCode (1)
- java获取汉子首字母 (1)
- Eclipse GC log (1)
- java轻量级httpserver (1)
最新评论
-
smilea001:
我知道了,作者采用的是gbk编码,我采用的是utf-8编码,
java获取汉子首字母 -
smilea001:
我输入的也是--
java获取汉子首字母 -
di1984HIT:
写的不错啊。
Router路由 -
kaixinyou:
...
2011.07.20——— android 获得当前view在屏幕的坐标 -
zhengjianbo:
你好,可以将你的实现代码公布下吗!万分感谢!
毛笔效果简单思路
public class StringUtil {
//private static Log logger = LogFactory.getLog(StringUtil.class);
//国标码和区位码转换常量
static final int GB_SP_DEFF = 160;
//存放国标一级汉字不同读音的起始区位码
static final int[] secPosvalueList = {
1601, 1637, 1833, 2078, 2274, 2302, 2433, 2594, 2787,
3106, 3212, 3472, 3635, 3722, 3730, 3858, 4027, 4086,
4390, 4558, 4684, 4925, 5249, 5600
};
//存放国标一级汉字不同读音的起始区位码对应读音
static final char[] firstLetter = {
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j',
'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's',
't', 'w', 'x', 'y', 'z'};
//获取一个字符串的拼音码
public static String getFirstLetter(String oriStr) {
String str = oriStr.toLowerCase();
StringBuffer buffer = new StringBuffer();
char ch;
char[] temp;
for (int i = 0; i < str.length(); i++) { //依次处理str中每个字符
ch = str.charAt(i);
temp = new char[] {ch};
byte[] uniCode = new String(temp).getBytes();
if (uniCode[0] < 128 && uniCode[0] > 0) { // 非汉字
buffer.append(temp);
} else {
buffer.append(convert(uniCode));
}
}
return buffer.toString();
}
/** 获取一个汉字的拼音首字母。
* GB码两个字节分别减去160,转换成10进制码组合就可以得到区位码
* 例如汉字“你”的GB码是0xC4/0xE3,分别减去0xA0(160)就是0x24/0x43
* 0x24转成10进制就是36,0x43是67,那么它的区位码就是3667,在对照表中读音为‘n’
*/
static char convert(byte[] bytes) {
char result = '-';
int secPosValue = 0;
int i;
for( i =0; i < bytes.length; i++) {
bytes[i] -= GB_SP_DEFF;
}
secPosValue = bytes[0] * 100 + bytes[1];
for ( i = 0; i<23; i++) {
if(secPosValue >= secPosvalueList[i] && secPosValue <secPosvalueList[i+1]) {
result = firstLetter[i];
break;
}
}
return result;
}
public static void main(String[] args) {
System.out.println(StringUtil.getFirstLetter("白金"));
}
}
评论
3 楼
smilea001
2013-11-05
我知道了,作者采用的是gbk编码,我采用的是utf-8编码,
2 楼
smilea001
2013-11-05
我输入的也是--
1 楼
rolenz
2012-02-07
if (uniCode[0] < 128 && uniCode[0] > 0) { // 非汉字
if(secPosValue >= secPosvalueList[i] && secPosValue <secPosvalueList[i+1]) {
这两行中&&应该是&&吧。
随便试了几个中文字,输出结果都是--
System.out.println(StringUtil.getFirstLetter("白金"));
输出结果:--
if(secPosValue >= secPosvalueList[i] && secPosValue <secPosvalueList[i+1]) {
这两行中&&应该是&&吧。
随便试了几个中文字,输出结果都是--
System.out.println(StringUtil.getFirstLetter("白金"));
输出结果:--
发表评论
-
java轻量级httpserver
2012-02-08 11:48 1552httpclient+httpserver demo ... -
Eclipse GC log
2012-02-04 16:59 1376为了查看Eclipse GC log,需要在eclip ... -
js event.keyCode
2012-02-03 09:09 1185<span style="" ... -
memcache安装
2012-02-02 12:04 1128? <blockquote> 1. ... -
C3P0配置
2012-02-02 11:34 969cquireIncrement[3] ... -
Linux启动过程(详细说明)
2012-02-01 09:09 1545<div class="post ... -
ibatIS调用存储过程
2012-01-31 15:38 1590<p>一、ibatIS调用存储过程(调用存 ... -
Hibernate面向对象的hql语句
2012-01-11 13:14 987Hibernate中hql条件语句的书写方式有: ? ... -
Hibernate实体对象的三种状态
2012-01-11 12:59 1257<p style="text- ... -
linux开机启动脚本的顺序
2011-12-21 15:14 1090下开机自动启动脚本所涉及的知识和方法、如下: ... -
DB2 静默安装
2011-12-21 11:59 1040<span style="color: ... -
Qt之美(一):d指针/p指针详解
2011-12-20 15:14 1931[/b]2011.11.16 [size=18px;] ... -
android手机通讯录备份还原代码
2011-12-20 11:54 2921<span style="font-f ... -
终于稍微完整的学习了一下Linux
2011-12-19 12:14 1156Linux以前也装过两次,不过几乎没去用。头几天看一些 ... -
Router路由
2011-12-19 10:54 1138Router路由:设定线的轨迹,在Connection ... -
基于记录登陆信息的防止网页暴力破解方法
2011-12-17 10:49 1421对黑客方面比较感兴趣的或者是比较熟悉的,应该知道溯雪这 ... -
成功通过DB2的700和701考试
2011-12-16 17:27 850嘿嘿,原以为比较没有信心的701考试也被俺成功的攻克了 ... -
想到目前各BLOG站点和搜索引擎的一点点缺陷
2011-12-15 15:54 862感觉无聊,就到中国博客网的首页逛了逛,想看看有没有什么 ... -
MapInfo2005年第三期电子新闻
2011-12-15 10:49 884<span lang="EN-US&q ... -
极限编程(XP)的重构与设计模式
2011-12-14 20:58 1417</span></span>& ...
相关推荐
java获取汉字的首字母 在有些时间,希望能自动获取汉字的首字母, 这是一个非常实用的实例
有时候可能会有获取中文拼音这样的需求...但如果仅仅是想获取中文拼音的首字母,查询数据库可能就显得过于臃肿了,通过重新思考之后,我们会利用汉字编码顺利来解决这样的一个问题。这里将这种方式的java实现分享给大家
获取汉字汉语拼音首字母,UITableView中文也可以加index了
最全的汉字首字母对照表,包含汉字区位码。自动生成汉字首字母的最佳资源。网络下载的汉字首字母生成类,感觉比较差,很多常用的汉字,都认不出来,这个对照表包含了将近70000个汉字首字母对照表,是个Excel表格,...
获取GBK字的拼音的首字母 由于数据较大,完整的GBK编码表按GBK规范分成3部分 GBK/2为与GB2312兼容的国标汉字部分,GBK/3和GBK/4为扩展汉字部分 每一部分都有自己的地址计算公式 若输入是acsii则返回同样的acsii ...
一行代码快速获取汉子拼音首字母
易语言取汉字首字母源码,取汉字首字母
获取汉字的拼音首字母、汉字的拼音,可指定分隔符,可扩展生僻字。
将输入的汉子获取首字母转为大写或小写的字符串. 汉字转拼音 * @param str 带汉字的字符串 * @param split 拼音的分割符 * @param uppercase 是否大写 * @return {string} 返回转换为拼音的字符串 getMnemonic:...
以往网上的示例大部分以汉字"啊芭擦......."分别为ABC......等拼音的边界来处理,后来我发现有大部分汉字都返回不了,或返回不正确(如“诤”、“诃”、“陧”等等均返回A); 本示例解决了这一问题,经过将所有汉字...
本案例能够将汉字转换为拼音,也能够取汉字拼音的首字母,这里满提供了使用的jar包,无需另外下载
直接是数据库语句,帮助你用sql获得汉子字符串的首字母,从而完成输入首字完成模糊查询功能。
/// /// 根据汉字的首字母产生,汉字串的助词码 /// /// 要产生助词码的汉字串/param> /// 返回产生的助词码</returns>
c#输入后自动获取汉字的首字母 TEXTBOX测试,直接获取汉字首字并且有其它获取方式。
根据,您在一个查询页面中,输入的汉字字符串,获取其对应的汉字拼音首字母字符串,并灵活配置到其他id中
java汉子转拼音,内含例子和jar;java汉子转拼音,内含例子和jar;
输入汉字字符串,然后点击OK,输出字符串拼音缩写,若字符串中有英文字母,则英文字母仍为英文字母。
传入汉字的句子,获取每个汉字的拼音,注意带声调,1-4声调。如a的声调共有āáǎàa。从网上根据js改编。
[TOC]downloadnpm install rn-pinyin;how to usefirst"use strict";exports.__esModule = true;var SearchResultData = /** @class */ (function () {function SearchResultData(list) { if (list !...
java中经常用到汉字转成拼音首字母、拼音全拼的,分享一下