搜档网
当前位置:搜档网 › c语言汉字转拼音函数源码

c语言汉字转拼音函数源码

c语言汉字转拼音函数源码
c语言汉字转拼音函数源码

c语言汉字转拼音函数源码

在做一些MIS系统,尤其是人事相关的系统时,通常会用到需要将用户的姓名,转成汉语拼音的情形。现在,把这个的实现分享出来,源代码来源网上,由于是很早收集的,原作者已不详,就不标注了。核心代码如下:

/// <summary>

/// 完整转换函数,输出全拼的结果

/// </summary>

/// <param name="CnString">传入的中文字符串

</param>

/// <returns>转换出的拼音组合</returns>

public static string FullConvert(string CnString)

{

byte[] btArray = new byte[2];

int cAscii = 0;

short idx1, idx2;

StringBuilder sbResult = new StringBuilder();

ch ar[] tempCArray = CnString.ToCharArray();

for (int idx = 0; idx < tempCArray.Length; idx++)

{

btArray =

Encoding.Default.GetBytes(tempCArray[idx].ToString());

if (btArray.Length == 1)

sbResult.Append(tempCArray[idx]);

else

{

idx1 = (short)btArray[0];

idx2 = (short)btArray[1];

cAscii = idx1 * 256 + idx2 - 65536;

if (cAscii > 0 && cAscii < 160)

sbResult.Append(tempCArray[idx]);

else

{

for (int i = pyValueArr.Length - 1; i >= 0; i--)

{

if (pyValueArr[i] <= cAscii)

{

sbResult.Append(pyCharacterArr[i]);

break;

}

}

}

}

}

return sbResult.ToString();

}

/// <summary>

/// 只输出首字母的组合

/// </summary>

/// <param name="CnString">待转换的中文字符串</param>

/// <returns>拼音首字母组合结果</returns> public static string CapitalCovert(string CnString)

{

StringBuilder sbTemp = new StringBuilder();

for (int i = 0; i < CnString.Length; i++)

{

sbTemp.Append(GetCnCharAreaCode(CnString.Substring(i, 1)));

}

return sbTemp.ToString();

}

使用也非常简单:

Console.WriteLine("输出汉字的全拼:");

Console.WriteLine(https://www.sodocs.net/doc/1410570255.html,2Py.FullConvert("换换生活网"));

Console.WriteLine("输出汉字的首字母组合:");

Console.WriteLine(https://www.sodocs.net/doc/1410570255.html,2Py.CapitalCovert("换换生活网@ https://www.sodocs.net/doc/1410570255.html,"));

c语言汉字转拼音函数源码

c语言汉字转拼音函数源码 在做一些MIS系统,尤其是人事相关的系统时,通常会用到需要将用户的姓名,转成汉语拼音的情形。现在,把这个的实现分享出来,源代码来源网上,由于是很早收集的,原作者已不详,就不标注了。核心代码如下: /// <summary> /// 完整转换函数,输出全拼的结果 /// </summary> /// <param name="CnString">传入的中文字符串 </param> /// <returns>转换出的拼音组合</returns> public static string FullConvert(string CnString) { byte[] btArray = new byte[2]; int cAscii = 0; short idx1, idx2; StringBuilder sbResult = new StringBuilder(); ch ar[] tempCArray = CnString.ToCharArray(); for (int idx = 0; idx < tempCArray.Length; idx++) { btArray =

Encoding.Default.GetBytes(tempCArray[idx].ToString()); if (btArray.Length == 1) sbResult.Append(tempCArray[idx]); else { idx1 = (short)btArray[0]; idx2 = (short)btArray[1]; cAscii = idx1 * 256 + idx2 - 65536; if (cAscii > 0 && cAscii < 160) sbResult.Append(tempCArray[idx]); else { for (int i = pyValueArr.Length - 1; i >= 0; i--) { if (pyValueArr[i] <= cAscii) { sbResult.Append(pyCharacterArr[i]); break; }

宏-汉字转换拼音

公司要建DataBase,为了让老外们看明白,所以要吧中文店名全部转换成拼音。 5000多家,搞得头好晕,所以请教了下高手,发现了VBA的一个小技巧,分享给大家, 希望大家有用哦::P 具体方法如下: 打开Excel->Tools->Macro(宏)->Viaual Basic编辑器 点击插入->Module(模块) 然后会出现一个Module1,空白栏中粘贴以下内容: Option Explicit Option Compare Text Public Function HZQP(expression As String, Optional delimiter As String = " ", Optional limit As Integer = -1) As String 'expression ' 必需的?包含要转换的字符串? 'delimiter ' 可选的。用于标识分隔拼音的字符串字符。如果忽略,则使用空格字符(" ")作为分隔符。如果delimiter是一个长度为零的字符串,则返回仅包含一个元素,即完整的expression字符串。 'limit ' 可选的。要返回拼音字符数,–1表示返回所有的拼音字符数,1表示返回拼音首字母。 Dim STR As String, arrWord(400) As String Dim i As Integer, j As Integer arrWord(1) = "吖a" arrWord(2) = "哎ai" arrWord(3) = "腤an" arrWord(4) = "肮ang" arrWord(5) = "凹ao" arrWord(6) = "八ba" arrWord(7) = "挀bai" arrWord(8) = "扳ban" arrWord(9) = "邦bang" arrWord(10) = "勹bao" arrWord(11) = "陂bei" arrWord(12) = "奔ben"

在excel中把汉字转换成拼音只取首字母修订版

在e x c e l中把汉字转换成拼音只取首字母修订 版 IBMT standardization office【IBMT5AB-IBMT08-IBMT2C-ZZT18】

打开Excel->工具->宏->Viaual Basic编辑器 在弹出来的窗口中对着VBAproject点右键->插入->模块下面会出现一个名为"模块1",点击 在右边的空白栏中粘贴以下内容: Function pinyin(p As String) As String i = Asc(p) Select Case i Case -20319 To -20284: pinyin = "A" Case -20283 To -19776: pinyin = "B" Case -19775 To -19219: pinyin = "C"

Case -19218 To -18711: pinyin = "D" Case -18710 To -18527: pinyin = "E" Case -18526 To -18240: pinyin = "F" Case -18239 To -17923: pinyin = "G" Case -17922 To -17418: pinyin = "H" Case -17417 To -16475: pinyin = "J" Case -16474 To -16213: pinyin = "K" Case -16212 To -15641: pinyin = "L" Case -15640 To -15166: pinyin = "M"

Case -15165 To -14923: pinyin = "N" Case -14922 To -14915: pinyin = "O" Case -14914 To -14631: pinyin = "P" Case -14630 To -14150: pinyin = "Q" Case -14149 To -14091: pinyin = "R" Case -14090 To -13319: pinyin = "S" Case -13318 To -12839: pinyin = "T" Case -12838 To -12557: pinyin = "W" Case -12556 To -11848: pinyin = "X" Case -11847 To -11056: pinyin = "Y"

oracle汉字转拼音函数

第一种方法:(首字母/全拼) create or replace type spell_code as object(spell varchar2(10),code number); create or replace type t_spellcode is table of spell_code; --返回拼音与代码的对应关系 create or replace function f_getSpellcode return t_spellcode Pipelined is Begin PIPE Row(spell_code('a', -20319)); PIPE Row(spell_code('ai', -20317)); PIPE Row(spell_code('an', -20304)); PIPE Row(spell_code('ang', -20295)); PIPE Row(spell_code('ao', -20292)); PIPE Row(spell_code('ba', -20283)); PIPE Row(spell_code('bai', -20265)); PIPE Row(spell_code('ban', -20257)); PIPE Row(spell_code('bang', -20242)); PIPE Row(spell_code('bao', -20230)); PIPE Row(spell_code('bei', -20051)); PIPE Row(spell_code('ben', -20036)); PIPE Row(spell_code('beng', -20032)); PIPE Row(spell_code('bi', -20026)); PIPE Row(spell_code('bian', -20002)); PIPE Row(spell_code('biao', -19990)); PIPE Row(spell_code('bie', -19986)); PIPE Row(spell_code('bin', -19982)); PIPE Row(spell_code('bing', -19976)); PIPE Row(spell_code('bo', -19805)); PIPE Row(spell_code('bu', -19784)); PIPE Row(spell_code('ca', -19775)); PIPE Row(spell_code('cai', -19774)); PIPE Row(spell_code('can', -19763)); PIPE Row(spell_code('cang', -19756)); PIPE Row(spell_code('cao', -19751)); PIPE Row(spell_code('ce', -19746)); PIPE Row(spell_code('ceng', -19741)); PIPE Row(spell_code('cha', -19739));

宏 拼音转汉字

Option Explicit Option Compare Text Public Function HZQP(expression As String, Optional delimiter As String = " ", Optional limit As Integer = -1) As String 'expression ' 必需的?包含要转换的字符串? 'delimiter ' 可选的。用于标识分隔拼音的字符串字符。如果忽略,则使用空格字符(" ")作为分隔符。如果delimiter是一个长度为零的字符串,则返回仅包含一个元素,即完整的 expression字符串。 'limit ' 可选的。要返回拼音字符数,–1表示返回所有的拼音字符数,1表示返回拼音首字母。 Dim STR As String, arrWord(400) As String Dim i As Integer, j As Integer arrWord(1) = "吖a" arrWord(2) = "哎ai" arrWord(3) = "腤an" arrWord(4) = "肮ang" arrWord(5) = "凹ao" arrWord(6) = "八ba" arrWord(7) = "挀bai" arrWord(8) = "扳ban" arrWord(9) = "邦bang" arrWord(10) = "勹bao" arrWord(11) = "陂bei" arrWord(12) = "奔ben" arrWord(13) = "崩beng" arrWord(14) = "皀bi" arrWord(15) = "边bian" arrWord(16) = "杓biao" arrWord(17) = "憋bie" arrWord(18) = "邠bin" arrWord(19) = "仌bing" arrWord(20) = "拨bo" arrWord(21) = "峬bu" arrWord(22) = "嚓ca" arrWord(23) = "猜cai" arrWord(24) = "飡can" arrWord(25) = "仓cang" arrWord(26) = "撡cao" arrWord(27) = "冊ce" arrWord(28) = "嵾cen" arrWord(29) = "噌ceng" arrWord(30) = "*cha"

汉字转化为拼音程序代码

原理,使用Dictionary技术 1.添加索引 2.遍历词典 <% Set d = CreateObject("Scripting.Dictionary") d.add "a",-20319 d.add "ai",-20317 d.add "an",-20304 d.add "ang",-20295 d.add "ao",-20292 d.add "ba",-20283 d.add "bai",-20265 d.add "ban",-20257 d.add "bang",-20242 d.add "bao",-20230 d.add "bei",-20051 d.add "ben",-20036 d.add "beng",-20032 d.add "bi",-20026 d.add "bian",-20002 d.add "biao",-19990 d.add "bie",-19986 d.add "bin",-19982 d.add "bing",-19976 d.add "bo",-19805 d.add "bu",-19784 d.add "ca",-19775 d.add "cai",-19774 d.add "can",-19763 d.add "cang",-19756 d.add "cao",-19751 d.add "ce",-19746 d.add "ceng",-19741 d.add "cha",-19739 d.add "chai",-19728 d.add "chan",-19725 d.add "chang",-19715 d.add "chao",-19540 d.add "che",-19531 d.add "chen",-19525 d.add "cheng",-19515 d.add "chi",-19500 d.add "chong",-19484

把汉字转换成拼音

把汉字转换成拼音 录入学生资料时需要输入姓名的汉字拼音,但怎样才能把姓名转换成拼音呢? 1、先把EXCEL中的学生姓名复制,再打开WORD,然后右键“选择性粘贴”,选择“无格式文 本”后确定。 2、再全选刚才学生的姓名,点击WORD中的“格式”菜单栏,找到“中文版式”里面的“拼音指 南”,(图1),可以把其中的“字号”由“5”设置大一些,如设置为“20”等后,然后“确定”,一次转换不成,可以再次转换,要注意一次可能转换不了,要多次才行。转换后效果,如(图2)。 3、全选所有的文字,右键选择“切换域代码”,出现如(图3)的文字,点击“编辑”菜单栏,找 到“查找(替换)”,切换到“替换”,在“查找内容”处输入:[)]*[)](注意是半角状态下的符号。),在“替换为”处输入:一个半角状态下的空格,然后点击下面的“高级”,在“使用通配符”打上“√”,最后点击“全部替换”。 4、接着用同样的方法,在“查找内容”处输入:EQ*[(]*[(](注意是半角状态下的符号。), 在“替换为”处输入:EQ ,(注意:EQ后还有一个半角状态下的空格)(图4),然后“全部替换”。效果如(图5),然后右键再选择“切换域代码”,剩下拼音。 5、全选所有拼音,复制后,新建一个EXCEL文档,按右键“选择性粘贴”,即可把汉字转换 成拼音。 图1 图2 图3

6、复制刚才的拼音到EXCEL 里,在EXCEL 中选择“编辑”,找到“定位”,点击“定位条件”,在里面选择“空值”后“确定”,对着其中已经选择的空格,右键“删除”,选择“下方单元格上移”后确定,即可把拼音复制到对应的姓名右边。 图4 图5 图6

excel 汉字转换成拼音全拼&excel 汉字转换成拼音简拼(只取首字母)

Excel自定义函数方法: 1.启动Excel 2003(其它版本请仿照操作),打开相应的工作表; 2.执行“工具→宏→Visual Basic编辑器”命令(或者直接按“Alt+F11”组合键),进入Visual Basic编辑状态; 3.执行“插入→模块”命令,插入一个新模块。再双击插入的模块,进入模块代码编辑状态; 4.将代码输入其中; 5.代码输入完成后,关闭Visual Basic编辑窗口,返回Excel编辑状态; 6.自定义函数就可以用了,如:选中D2单元格,输入公式:=getpy(A2)。 有极个别的汉字不能转换,手动就可以了!很方便了。 Function pinyin(p As String) As String i = Asc(p) Select Case i Case -20319 To -20318: pinyin = "a " Case -20317 To -20305: pinyin = "ai " Case -20304 To -20296: pinyin = "an " Case -20295 To -20293: pinyin = "ang " Case -20292 To -20284: pinyin = "ao " Case -20283 To -20266: pinyin = "ba " Case -20265 To -20258: pinyin = "bai " Case -20257 To -20243: pinyin = "ban " Case -20242 To -20231: pinyin = "bang " Case -20230 To -20052: pinyin = "bao " Case -20051 To -20037: pinyin = "bei " Case -20036 To -20033: pinyin = "ben " Case -20032 To -20027: pinyin = "beng " Case -20026 To -20003: pinyin = "bi " Case -20002 To -19991: pinyin = "bian " Case -19990 To -19987: pinyin = "biao " Case -19986 To -19983: pinyin = "bie " Case -19982 To -19977: pinyin = "bin " Case -19976 To -19806: pinyin = "bing " Case -19805 To -19785: pinyin = "bo " Case -19784 To -19776: pinyin = "bu " Case -19775 To -19775: pinyin = "ca " Case -19774 To -19764: pinyin = "cai " Case -19763 To -19757: pinyin = "can " Case -19756 To -19752: pinyin = "cang " Case -19751 To -19747: pinyin = "cao " Case -19746 To -19742: pinyin = "ce " Case -19741 To -19740: pinyin = "ceng " Case -19739 To -19729: pinyin = "cha " Case -19728 To -19726: pinyin = "chai "

excel汉字转换成拼音简拼(只取首字母)

打开Excel->工具->宏->Viaual Basic编辑器 在弹出来的窗口中对着VBAproject点右键->插入->模块下面会出现一个名为"模块1",点击 在右边的空白栏中粘贴以下内容: Function pinyin(p As String) As String i = Asc(p) Select Case i Case -20319 To -20284: pinyin = "A" Case -20283 To -19776: pinyin = "B" Case -19775 To -19219: pinyin = "C" Case -19218 To -18711: pinyin = "D" Case -18710 To -18527: pinyin = "E" Case -18526 To -18240: pinyin = "F" Case -18239 To -17923: pinyin = "G" Case -17922 To -17418: pinyin = "H" Case -17417 To -16475: pinyin = "J" Case -16474 To -16213: pinyin = "K" Case -16212 To -15641: pinyin = "L" Case -15640 To -15166: pinyin = "M" Case -15165 To -14923: pinyin = "N" Case -14922 To -14915: pinyin = "O" Case -14914 To -14631: pinyin = "P"

Excel中将汉字转化为拼音

Excel中将汉字转化为拼音(完整拼音)版 1.打开Excel->工具->宏->Viaual Basic编辑器 2.在弹出来的窗口中对着VBAproject点右键->插入->模块 3.下面会出现一个名为"模块1",点击 4.在右边的空白栏中粘贴以下内容: Function pinyin(p As String) As String i = Asc(p) Select Case i Case -20319 To -20318: pinyin = "a " Case -20317 To -20305: pinyin = "ai " Case -20304 To -20296: pinyin = "an " Case -20295 To -20293: pinyin = "ang " Case -20292 To -20284: pinyin = "ao " Case -20283 To -20266: pinyin = "ba " Case -20265 To -20258: pinyin = "bai " Case -20257 To -20243: pinyin = "ban " Case -20242 To -20231: pinyin = "bang " Case -20230 To -20052: pinyin = "bao " Case -20051 To -20037: pinyin = "bei " Case -20036 To -20033: pinyin = "ben " Case -20032 To -20027: pinyin = "beng " Case -20026 To -20003: pinyin = "bi " Case -20002 To -19991: pinyin = "bian " Case -19990 To -19987: pinyin = "biao " Case -19986 To -19983: pinyin = "bie " Case -19982 To -19977: pinyin = "bin " Case -19976 To -19806: pinyin = "bing " Case -19805 To -19785: pinyin = "bo " Case -19784 To -19776: pinyin = "bu " Case -19775 To -19775: pinyin = "ca " Case -19774 To -19764: pinyin = "cai " Case -19763 To -19757: pinyin = "can " Case -19756 To -19752: pinyin = "cang " Case -19751 To -19747: pinyin = "cao " Case -19746 To -19742: pinyin = "ce " Case -19741 To -19740: pinyin = "ceng " Case -19739 To -19729: pinyin = "cha " Case -19728 To -19726: pinyin = "chai " Case -19725 To -19716: pinyin = "chan " Case -19715 To -19541: pinyin = "chang " Case -19540 To -19532: pinyin = "chao " Case -19531 To -19526: pinyin = "che "

如何在excel中把汉字转换成拼音

Excel自定义函数法: 1.启动Excel 2003(其它版本请仿照操作),打开相应的工作表; 2.执行“工具→宏→Visual Basic编辑器”命令(或者直接按“Alt+F11”组合键),进入Visual Basic编辑状态; 3.执行“插入→模块”命令,插入一个新模块。再双击插入的模块,进入模块代码编辑状态; 4.将代码输入其中; 5.代码输入完成后,关闭Visual Basic编辑窗口,返回Excel编辑状态; 6.自定义函数就可以用了,如:选中D2单元格,输入公式:=getpy(A2)。 有极个别的汉字不能转换,手动就可以了!很便了。 Function pinyin(p As String) As String i = Asc(p) Select Case i Case -20319 To -20318: pinyin = "a " Case -20317 To -20305: pinyin = "ai " Case -20304 To -20296: pinyin = "an " Case -20295 To -20293: pinyin = "ang " Case -20292 To -20284: pinyin = "ao " Case -20283 To -20266: pinyin = "ba " Case -20265 To -20258: pinyin = "bai " Case -20257 To -20243: pinyin = "ban " Case -20242 To -20231: pinyin = "bang " Case -20230 To -20052: pinyin = "bao " Case -20051 To -20037: pinyin = "bei " Case -20036 To -20033: pinyin = "ben " Case -20032 To -20027: pinyin = "beng " Case -20026 To -20003: pinyin = "bi " Case -20002 To -19991: pinyin = "bian " Case -19990 To -19987: pinyin = "biao " Case -19986 To -19983: pinyin = "bie " Case -19982 To -19977: pinyin = "bin " Case -19976 To -19806: pinyin = "bing " Case -19805 To -19785: pinyin = "bo " Case -19784 To -19776: pinyin = "bu " Case -19775 To -19775: pinyin = "ca " Case -19774 To -19764: pinyin = "cai " Case -19763 To -19757: pinyin = "can " Case -19756 To -19752: pinyin = "cang " Case -19751 To -19747: pinyin = "cao " Case -19746 To -19742: pinyin = "ce " Case -19741 To -19740: pinyin = "ceng " Case -19739 To -19729: pinyin = "cha " Case -19728 To -19726: pinyin = "chai "

Java中文字转拼音工具类

Java中文字转拼音工具类 2020-03-24 09:49:09 有时,我们需要将中文汉字转为拼音存储,例如用于检索时,直接输入拼音或者首字母也能检索出我们想要的结果,这时我们便需要将汉字转拼音 ?1、首先我们在 pom.xml 文件中引入需要的 maven 依赖 com.belerweb pinyin4j 2.5.1 ?2、汉字转拼音工具类代码如下 Pinyin4jUtil.java: import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType; import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatComb ination; /** –中文转化为拼音工具类 –@author lizhou –*/ public class Pinyin4jUtil { /** ?获得汉语拼音首字母大写 ?@param chines 汉字 ?@return */ public static String getAlpha2UpperCase(String chines) { String pinyinNam e = "“; char[] nameChar = chines.toCharArray(); HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat(); defaultFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE); defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_T ONE); for (int i = 0; i < nameChar.length; i++) { if (nameChar[i] > 128) { try { pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0].charAt(0); } catch (BadHanyuPinyinOutputFormatCombination e) { System.out.println(”获得汉语拼音首字母异常:}" + e.getMessage()); } } else { pinyinName += nameChar[i]; } } return pinyinName; } /**

汉字与首字母相互转换:输入汉字拼音首字母,自动识别汉字; 输入汉字,自动获取首字母;

///

/// 找到中文短语的拼音首字母。 /// /// 中文短语 /// 拼音首字母,存在多音字时以,分隔。 /// 如:西单,将返回XD,XS,XC。 public static void GetFirstLetter(string wStrChs, ref string strResult) { strResult = ""; string strBuffer = ""; for (int i = 0; i < wStrChs.Length; i++) { GetSpellByChs(wStrChs[i], ref strBuffer); if (strBuffer.Length > 0) { if (strResult != string.Empty) { string[] strs = strResult.Split(','); strResult = ""; for (int j = 0; j < strs.Length; j++) { for (int k = 0; k < strBuffer.Length; k++) { strResult += strs[j] + strBuffer[k].ToString() + ","; } } } else { for (int j = 0; j < strBuffer.Length; j++) { strResult += strBuffer[j] + ","; } } if (strResult != string.Empty) strResult = strResult.Substring(0, strResult.Length - 1); } } } /// /// 返回中文单字的拼音首字母。

用公式将汉字转换为拼音的第一个字母

用公式将汉字转换为拼音的第一个字母 有时需要在Excel中将大量姓名或名称转换为拼音首字母的简写形式,例如将“周伯通”转换为“ZBT”。用定义名称和公式的方法可以轻松实现转换,在Windows XP中,以Excel 2003为例方法如下: 1.定义名称: 单击菜单“插入→名称→定义”,在弹出的对话框中“在当前工作簿中的名称”下的文本框中输入一个名称,如“py”,在“引用位置”下输入下列代码后确定: ={"","吖","八","嚓","咑","鵽","发","猤","铪","夻","咔","垃","嘸","旀", "噢","妑","七","囕","仨","他","屲","夕","丫","帀";"","A","B","C","D","E", "F","G","H","J","K","L","M","N","O","P","Q","R","S","T","W","X","Y"," Z"} 2.假如名单在A2:A100区域中,在B2单元格中输入公式: =LOOKUP(LEFT(A2,1),py)&LOOKUP(MID(A2,2,1),py)&LOOKUP(MID(A2,3,1), py)&LOOKUP(MID(A2,4,1),py) 然后拖动填充柄向下填充公式即可。

说明: 1.定义的名称为一个数组,以分号为界分为两行,第一行为汉字,第二行为与第一行汉字对应的拼音第一个大写字母。如果是Windows 7或Vista,则需要将定义的名称改为: ={"","吖","八","攃","咑","鵽","发","旮","哈","丌","咔","垃","妈","乸", "噢","帊","七","冄","仨","他","屲","夕","丫","帀";"","A","B","C","D","E", "F","G","H","J","K","L","M","N","O","P","Q","R","S","T","W","X","Y"," Z"} 2.公式用LOOKUP函数将每个汉字转换成拼音的第一个大写字母。其原理是:Excel中汉字(文本)之间也可以进行比较;汉字在Excel中的排列顺序与拼音顺序相同,排在前面的“值”小于排在其后的。上述定义名称的数组中,每个汉字都是所有拼音首字母相同的汉字中的第一个,例如“八”在Excel中排在其他所有拼音首字母为“B”的前面,因而其“值”最小。因此,LOOKUP函数在查找某个不在数组中的汉字,如“伯”字时,会在数组的第一行中查找小于它的最大值“八”,然后返回最后一行同列的值“B”。 另外,由于在Windows XP与Windows 7、Vista中Excel对汉字的排列顺序有所不同,故定义的名称内容也不同。如果在Windows 7、Vista中使用XP中定义的数组,LOOKUP函数第二个参数中的值未按升序排列,可能无法返回正确的结果。

汉字转拼音函数

--创建函数 IF OBJECT_ID('[fn_GetPinyin]')IS NOT NULL DROP FUNCTION [fn_GetPinyin] GO create function [dbo].[fn_GetPinyin](@words nvarchar(2000)) returns varchar(8000) as begin declare @word nchar(1) declare @pinyin varchar(8000) declare @i int declare @words_len int declare @unicode int set @i = 1 set @words =ltrim(rtrim(@words)) set @words_len =len(@words) while(@i <= @words_len)--循环取字符 begin set @word =substring(@words, @i, 1) set @unicode =unicode(@word) set @pinyin =ISNULL(@pinyin +SPACE(1),'')+ (case when unicode(@word)between 19968 and 19968+20901 then (select top 1 py from( select'a'as py,N'厑'as word union all select'ai',N'靉' union all select'an',N'黯' union all select'ang',N'醠' union all select'ao',N'驁' union all select'ba',N'欛' union all select'bai',N'瓸'--韛兡瓸 union all select'ban',N'瓣' union all select'bang',N'鎊' union all select'bao',N'鑤' union all select'bei',N'鐾' union all select'ben',N'輽' union all select'beng',N'鏰' union all select'bi',N'鼊' union all select'bian',N'變' union all select'biao',N'鰾' union all select'bie',N'彆' union all select'bin',N'鬢' union all select'bing',N'靐'

能把汉字转化为拼音的一个函数

能把汉字转化为拼音的一个函数 发信人: 海滨 整理人:站内信件 来源:CSDN 很多问题都是因为中文问题造成的 如文件名最好别用中文 现在的解决方法一般是产生一个ID,将这个ID做文件名网页上如果url带汉字也经常出错 现在的解决方法一般用urlencode编码 现在用了这个转化,就好多了 原理:利用多维数组 1.添加索引 2.遍历数组

汉字转换拼音或拼音首字母(两个函数)

/* 根据汉字获取全拼 1.生成所有读音临时表 2.根据Chinese_PRC_CS_AS_KS_WS 排序获取读音 */ create function f_GetPy(@str varchar(100)) returns varchar(8000) as begin declare @re varchar(8000) –生成临时表 declare @t table(chr nchar(1) collate Chinese_PRC_CS_AS_KS_WS,py nvarchar(20)) insert into @t select’吖’,'a’ insert into @t select’厑’,'aes’ insert into @t select’哎’,'ai’ insert into @t select’安’,'an’ insert into @t select’肮’,'ang’ insert into @t select’凹’,'ao’ insert into @t select’八’,'ba’ insert into @t select’挀’,'bai’ insert into @t select’兡’,'baike’ insert into @t select’瓸’,'baiwa’ insert into @t select’扳’,'ban’ insert into @t select’邦’,'bang’ insert into @t select’勹’,'bao’ insert into @t select’萡’,'be’ insert into @t select’陂’,'bei’ insert into @t select’奔’,'ben’ insert into @t select’伻’,'beng’ insert into @t select’皀’,'bi’ insert into @t select’边’,'bian’ insert into @t select’辪’,'uu’ insert into @t select’灬’,'biao’ insert into @t select’憋’,'bie’ insert into @t select’汃’,'bin’ insert into @t select’冫’,'bing’ insert into @t select’癶’,'bo’ insert into @t select’峬’,'bu’ insert into @t select’嚓’,'ca’ insert into @t select’偲’,'cai’ insert into @t select’乲’,'cal’ insert into @t select’参’,'can’

相关主题