//调用方式 ChinesFirstCode.GetCharSpellCode(unit.getDwmc();
public class ChinesFirstCode {
/**
* 汉字首字母生成工具
*/
private final static int finalA = 45217;
private final static int finalB = 45253;
private final static int finalC = 45761;
private final static int finalD = 46318;
private final static int finalE = 46826;
private final static int finalF = 47010;
private final static int finalG = 47297;
private final static int finalH = 47614;
private final static int finalJ = 48119;
private final static int finalK = 49062;
private final static int finalL = 49324;
private final static int finalM = 49896;
private final static int finalN = 50371;
private final static int finalO = 50614;
private final static int finalP = 50622;
private final static int finalQ = 50906;
private final static int finalR = 51387;
private final static int finalS = 51446;
private final static int finalT = 52218;
private final static int finalW = 52698;
private final static int finalX = 52980;
private final static int finalY = 53689;
private final static int finalZ = 54481;
public ChinesFirstCode()
{ }
//调用GetCharSpellCode(String sourceStr)即可
public static String GetCharSpellCode(String sourceStr) throws Exception
{
long iCnChar=0;
char tempChar;
byte[] HZ=new byte[2];
StringBuilder builderStr=new StringBuilder();
String result="";
for(int i=0;i<sourceStr.length();i++)
{
tempChar=sourceStr.charAt(i);
String tempStr=String.valueOf(tempChar);
HZ = tempStr.getBytes("gb2312");
if (HZ.length == 1)
{
builderStr.append(sourceStr.toUpperCase()) ;
}
else
{
int a1 = (short)(HZ[0])+256;
int a2 = (short)(HZ[1])+256;
iCnChar=a1 * 256 + a2;
builderStr.append(GetChar(iCnChar));
}
}
result=builderStr.toString();
return result;
}
private static String GetChar(long iCnChar)
{
if (CompareChar(iCnChar, finalA, finalB))
{
return "A";
}
if (CompareChar(iCnChar, finalB, finalC))
{
return "B";
}
if (CompareChar(iCnChar, finalC, finalD))
{
return "C";
}
if (CompareChar(iCnChar, finalD, finalE))
{
return "D";
}
if (CompareChar(iCnChar, finalE, finalF))
{
return "E";
}
if (CompareChar(iCnChar, finalF, finalG))
{
return "F";
}
if (CompareChar(iCnChar, finalG, finalH))
{
return "G";
}
if (CompareChar(iCnChar, finalH, finalJ))
{
return "H";
}
if (CompareChar(iCnChar, finalJ, finalK))
{
return "J";
}
if (CompareChar(iCnChar, finalK, finalL))
{
return "K";
}
if (CompareChar(iCnChar, finalL, finalM))
{
return "L";
}
if (CompareChar(iCnChar, finalM, finalN))
{
return "M";
}
if (CompareChar(iCnChar, finalN, finalO))
{
return "N";
}
if (CompareChar(iCnChar, finalO, finalP))
{
return "O";
}
if (CompareChar(iCnChar, finalP, finalQ))
{
return "P";
}
if (CompareChar(iCnChar, finalQ, finalR))
{
return "Q";
}
if (CompareChar(iCnChar, finalR, finalS))
{
return "R";
}
if (CompareChar(iCnChar, finalS, finalT))
{
return "S";
}
if (CompareChar(iCnChar, finalT, finalW))
{
return "T";
}
if (CompareChar(iCnChar, finalW, finalX))
{
return "W";
}
if (CompareChar(iCnChar, finalX, finalY))
{
return "X";
}
if (CompareChar(iCnChar, finalY, finalZ))
{
return "Y";
}
if (CompareChar(iCnChar, finalZ, 55289))
{
return "Z";
}
else
{
return "*";
}
}
private static boolean CompareChar(long iCnChar, int S, int E)
{
if (iCnChar >= S && iCnChar < E)
{
return true;
}
else
{
return false;
}
}
}
分享到:
相关推荐
本篇文章将详细介绍如何通过Java代码来实现这一功能,并对相关的知识点进行深入探讨。 #### 一、需求分析 假设我们有一个包含中文字符的字符串,如“你好,世界”。我们需要将这个字符串中的每个汉字转换为其对应的...
### Java中实现汉字首字母转为大写的技巧与方法 #### 概述 在Java编程中,有时我们需要处理中文字符,并将其转换成特定格式。例如,我们可能希望将一个中文姓名转换成其拼音首字母的大写形式。这种需求在很多场景...
java提取汉字拼音首字母的代码,简体中文的编码范围从B0A1(45217)一直到F7FE(63486),不支持多音字处理
Java获取汉字的首字母是一项常见的文本处理任务,尤其在数据编码、搜索引擎优化或者拼音排序等场景下非常有用。本文将详细讲解如何利用Java实现这一功能,并探讨相关知识点。 首先,我们要明白汉字首字母的获取主要...
本文实例讲述了Java编程实现中英混合字符串数组按首字母排序的方法。分享给大家供大家参考,具体如下: 在Java中对于字符串数组的排序,我们可以使用Arrays.sort(String[])方法很便捷的进行排序。例如: String[]...
然后,可以通过以下Java代码示例来实现汉字转拼音和获取首字母: ```java import net.sourceforge.pinyin4j.PinyinHelper; import ...
在Java编程中,通讯录的首字母获取是一个常见的需求,特别是在实现联系人排序或搜索功能时。这个场景通常涉及到汉字转拼音以及获取拼音首字母。本文将深入探讨如何使用Java工具类来实现这一功能,特别关注`pinyin4j`...
### 知识点详解:Java程序获取汉字拼音首字母 #### 核心概念与功能解析 在本Java程序中,核心目标是实现对输入的汉字进行处理,提取其拼音的首字母。这在多种场景下都非常有用,比如中文姓名的拼音缩写、中文...
java 获取汉字拼音首字母 源码 /** * GB 2312-80 把收录的汉字分成两级。第一级汉字是常用汉字,计 3755 个, 置于 16~55 * 区,按汉语拼音字母/笔形顺序排列;第二级汉字是次常用汉字, 计 3008 个,置于 56~...
根据提供的信息,我们可以了解到这段Java代码的主要目的是将中文字符转换为对应的汉语拼音首字母。这种方法在处理中文排序、检索等场景时非常有用。下面将详细解释该代码的工作原理及其应用场景。 ### 代码逻辑分析...
Pinyin4j是一个广泛使用的Java库,它提供了将汉字转换为汉语拼音的功能,支持全拼和首字母。 使用Pinyin4j库进行汉字转拼音的步骤如下: 1. 引入Pinyin4j库:在项目中添加Pinyin4j的依赖。如果是Maven项目,可以在...
Java 获取汉字的拼音或汉字首字母在Java中获取汉字的拼音或汉字首字母是一个有挑战性的任务,因为汉字没有像拉丁字母那样的标准编码方案。不过,有一些第三方库可以简化这个过程。汉字拼音库是一个常用的库,它可以...
在Java编程中,实现输入汉字拼音首字母自动显示出数据库中相应内容的功能,是常见的文本框自动补全(AutoComplete)技术的一种应用场景。这种技术通常用于提高用户输入的效率和准确性,常见于搜索引擎、输入法软件...
根据输入的中文名称,把每个中文名称的拼音首字母提取出来,组合成新的大写字符串。如输入“刘德华”则转换过后得到的是“LDH”。还有我们在用酷我或者其它的搜索工具的时候,当输入“l”的时候下拉列表框中就出现了...
java将汉字转化为拼音大小写(提取首字母,将汉字转化为拼音首字母大小写的相关算法)
此外,如果Java代码中包含了一些特定于Java平台的API调用,这些部分在Pascal中可能需要替换为相应的函数或库。 总的来说,Java2Pas是一个方便的工具,能够帮助开发者跨越Java和Pascal之间的语言障碍,提高代码复用...
标题中的“PB 读取汉语拼音的首字母”指的是在PowerBuilder(PB)环境中实现一个功能,该功能能够从汉字中提取出汉语拼音的首字母。这个功能在处理中文数据时非常有用,尤其是在进行关键词搜索、拼音排序或者构建...
在探讨如何使用Java编程语言输出希腊字母表之前,我们首先需要理解几个关键概念:Unicode编码、字符变量以及循环控制结构。下面将详细解释这些概念,并基于给定代码片段进行深入分析。 ### Unicode编码 Unicode是...
首先,需要在数据库中创建一个Java源代码对象,包含Pinyin4j的相关类,然后编写存储过程调用这个Java代码进行转换。 3. **使用UTL_I18N包** Oracle的UTL_I18N包提供了对多语言环境的支持,包括字符转换和比较。...
Jockey跟其他混淆工具不同的是:它是直接对编译过程做文章,也就是在把java文件编译为class文件的过程中对代码进行混淆,混淆后的代码中包含很多JVM 指令,大家知道JVM指令是面向机器的,人类一般很难看懂!...