- 浏览: 103135 次
- 性别:
- 来自: 北京
最新评论
public class GB2Alpha { //字母Z使用了两个标签,这里有27个值 //i, u, v都不做声母, 跟随前面的字母 private char[] chartable = { '啊', '芭', '擦', '搭', '蛾', '发', '噶', '哈', '哈', '击', '喀', '垃', '妈', '拿', '哦', '啪', '期', '然', '撒', '塌', '塌', '塌', '挖', '昔', '压', '匝', '座' }; private char[] alphatable = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' }; private int[] table = new int[27]; //初始化 { for (int i = 0; i < 27; ++i) { table[i] = gbValue(chartable[i]); } } public GB2Alpha() { } //主函数,输入字符,得到他的声母, //英文字母返回对应的大写字母 //其他非简体汉字返回 '0' public char Char2Alpha(char ch) { if (ch >= 'a' && ch <= 'z') return (char) (ch - 'a' + 'A'); if (ch >= 'A' && ch <= 'Z') return ch; int gb = gbValue(ch); if (gb < table[0]) return '0'; int i; for (i = 0; i < 26; ++i) { if (match(i, gb)) break; } if (i >= 26) return '0'; else return alphatable[i]; } //根据一个包含汉字的字符串返回一个汉字拼音首字母的字符串 public String String2Alpha(String SourceStr) { String Result = ""; int StrLength = SourceStr.length(); int i; try { for (i = 0; i < StrLength; i++) { System.out.println(SourceStr.charAt(i)); Result += Char2Alpha(SourceStr.charAt(i)); } } catch (Exception e) { Result = ""; } return Result; } private boolean match(int i, int gb) { if (gb < table[i]) return false; int j = i + 1; //字母Z使用了两个标签 while (j < 26 && (table[j] == table[i])) ++j; if (j == 26) return gb <= table[j]; else return gb < table[j]; } //取出汉字的编码 private int gbValue(char ch) { String str = new String(); str += ch; try { byte[] bytes = str.getBytes("GB2312"); if (bytes.length < 2) return 0; return (bytes[0] << 8 & 0xff00) + (bytes[1] & 0xff); } catch (Exception e) { return 0; } } public static void main(String[] args) { GB2Alpha obj1 = new GB2Alpha(); System.out.println(obj1.String2Alpha("测试:中华人民共和国!")); System.out.println(obj1.String2Alpha("王瑞杰")); return; } }
发表评论
-
hibernate中htm.xml注意的一个问题
2011-06-08 12:00 879遇到了这个问题 总是报 org.hibernate ... -
罗马数字转成阿拉伯数字
2011-06-02 13:15 2615首先得知道罗马数字是怎么回事: http://520920. ... -
有关于验证码的
2011-06-01 13:00 634验证码 是怎么出来的呢 应该有很多种方式,今天看到了一段代码中 ... -
转系统架构的一片文章
2011-05-13 14:27 718原文其实应该是.NET上面的 但是我觉得架构上同样适用 ... -
后缀树 后缀数组 字符串的 那些面试题... 【烂,别点进来】
2011-04-24 16:28 1579最近在总结点面试题,好像放在公司里,忘记拷到U盘上了。回去传到 ... -
海量数据的匹配 bloom filter 【别进来 很烂】
2011-04-22 10:30 1014引出 是老张说的腾讯的面试题 说 昨天有一亿个QQ登陆 ... -
Hello mina 【别进来 烂 会后悔】
2011-04-18 17:46 758mina nio 开源代码 以上是关键字 感觉 ... -
java nio & reactor
2011-04-15 14:26 846想看 java io很久了 菜的很 两个文章和一本书 小了解一 ... -
vm到jsp
2011-02-14 14:54 2114http://www.iteye.com/topic/1355 ... -
json&jsonP&跨域
2011-01-10 15:58 775http://www.ibm.com/developerwor ... -
PermGen space
2010-12-14 11:59 714http://blog.csdn.net/Jerry_R ... -
编程珠玑课后题,吝啬的初始化
2010-12-05 16:20 1041在这里,我们有一个稀疏的数组需要访问,并且在第一次访问的时 ... -
BitSet 原理&位操作&基本类型的大小
2010-12-05 11:52 1863因为在看编程珠玑 第一章讲到了 用BitSet来对N多数字进行 ... -
JVM 小总结
2010-11-25 14:22 651http://www.iteye.com/topic/8218 ... -
jdk5.0 6.0新特性
2010-11-25 08:18 565也许会被蛋疼的人问道吧 http://qwzhl100 ... -
对象的复制:ezmorph
2010-11-17 10:59 733ezmoph组件 http://blog.csdn.net/ ... -
how tomcat works
2010-11-16 17:36 976http://jarfield.iteye.com/blog/ ... -
ThreadLocal
2010-11-14 22:05 772起因还是那天培训 对这个了解不深刻 赶紧看看 ... -
ConcurrentHashMap记录
2010-11-14 21:09 835那天的讲座中 武祥提到了 ConcurrentHashMap ... -
有关海量数据
2010-11-06 16:26 803起因是看到了 小灰灰在人人上分享的文章 http://blo ...
相关推荐
在压缩包文件列表中,有两个文件:`testaa`和`JAVA汉字转换拼音`。`testaa`可能是一个测试文件,而`JAVA汉字转换拼音`可能是包含具体转换代码的Java源文件或一个项目工程。为了使用这些资源,你需要将它们解压到本地...
在Java编程语言中,中文字符转换为拼音是一个常见的需求,特别是在处理中文文本的搜索、语音合成或者数据分析等场景。这个给定的压缩包文件“languageConvert”可能包含了一个实现此功能的Java程序,使得开发者能够...
Java中的汉字拼音工具包主要服务于程序开发,尤其是前端开发,用于处理汉字与拼音之间的转换,这对于构建具有中文支持的应用或网站至关重要。这类工具包能够帮助开发者轻松地将汉字转换为对应的拼音,便于进行搜索、...
根据提供的文件信息,本文将详细解析“Java汉字转换拼音”的实现方法及原理,并结合实际代码进行分析。 ### 一、项目概述 #### 标题:Java汉字转换拼音 该标题明确指出项目的主要功能是利用Java语言实现汉字到拼音...
这一过程依赖于汉字编码范围的预先定义,即通过比较函数判断汉字属于哪个拼音首字母的范围,从而决定应添加哪个英文字母到结果字符串中。 #### 汉字与拼音映射规则 在`getBeginCharacter`方法中,可以看到一系列的...
总的来说,Oracle中获取汉字拼音和拼音首字母涉及了字符编码、Java编程、自定义函数、第三方工具等多个方面。开发者可以根据具体的需求和环境,选择合适的方法来实现这一功能。在处理过程中,要注意字符集的兼容性、...
总之,"java获取中文拼音字母"这个主题涵盖了Java处理中文字符、Unicode编码、第三方库的使用以及多音字处理等多个知识点。实际应用中,我们需要结合具体提供的代码和工具包来理解和实现这个功能。
在实际应用中,汉字转拼音函数可能包括以下几个步骤: 1. **接收输入**:函数接收一个汉字字符串作为输入。 2. **编码转换**:将汉字字符串转换成Unicode编码,因为Unicode包含了汉字的拼音信息。 3. **查找拼音**...
### Java中实现汉字首字母转为大写的技巧与方法 #### 概述 在Java编程中,有时我们需要处理中文字符,并将其转换成特定格式。例如,我们可能希望将一个中文姓名转换成其拼音首字母的大写形式。这种需求在很多场景...
在SQL层面,这可能涉及到创建一个PL/SQL函数,该函数调用Java存储过程,利用Java中的汉字转拼音库。 `chinese_spell.sql`这个文件很可能包含了上述的PL/SQL函数定义。函数可能接受一个汉字字符串作为输入,返回对应...
总结来说,虽然Oracle自身不提供汉字转拼音的原生函数,但我们可以通过自定义存储过程结合Java代码或使用第三方PL/SQL包来实现这个功能。这两种方法各有优缺点,根据实际项目需求和环境选择合适的方法。
可以在Oracle中创建外部函数,利用Java或Python等编程语言的汉字转拼音库(如Java的Pinyin4j,Python的pypinyin)进行转换。这种方法灵活性高,但涉及到数据库与外部环境的交互,可能需要关注安全性和性能。 5. **...
以下是一个简单的Java汉字转拼音的基本流程: 1. 导入必要的库:如果是使用`com.sun.tools.pinyin4j`,需要在类路径中包含对应的jar文件;如果是使用`Pinyin4j`,则需要添加对应的依赖。 2. 创建一个函数,接收...
在中文环境中,`Collator`会根据中文拼音进行比较。以下是一个简单的示例,演示如何使用`Collator`对汉字字符串数组进行排序: ```java import java.text.Collator; import java.util.Arrays; public class ...
接下来,我们来看HZPY.java这个文件,它可能包含了一个自定义的函数,用于获取汉字的拼音首字母。在Java中,这样的函数可能包含以下步骤: 1. **字符编码处理**:由于汉字在计算机中的存储通常使用Unicode编码,...
3. **进行转换操作**:一旦转换接口准备就绪,就可以将单个汉字或整个文本字符串作为输入,调用转换函数得到对应的拼音输出。这个过程中,库可能内部会采用字典查找、规则匹配等多种方法来确定汉字的正确拼音。 4. ...
综上所述,将汉字转换为拼音在Oracle中需要结合使用Oracle的内置函数和Java存储过程。通过`UTL_I18N.RICH_TO_RAW`转换字符编码,再借助Java的Pinyin4j库进行实际的拼音转换,我们可以高效且准确地完成汉字到拼音的...
这个"flex汉字转拼音"的主题涉及到Flex应用中处理中文字符并转换为拼音的能力,这对于开发涉及中文语音识别、搜索优化或者用户友好界面等功能的应用程序来说非常有用。 在Flex中,处理汉字转拼音通常需要利用特定的...
在Oracle数据库中实现获取汉字拼音首字母的需求,通常涉及到对中文字符的处理以及拼音转换的技术。这样的功能可以应用于多种场景,例如数据排序、索引建立或是快速检索等。本文将详细介绍如何在Oracle环境中实现这一...