把我们的汉字转换成为以拼音首字母的关键字的方法

原创 2004年08月06日 17:54:00

例如:把“我们的祖国是花园”转变成为“wmdzgshy”

AnsiString ChineseToPY(AnsiString Chinese)
{
    AnsiString tChinese,result="";
    tChinese=Trim(Chinese);
    AnsiString temp="";
    char *ccp = new char[Chinese.Length()+1];
    strcpy(ccp,tChinese.c_str());
    for(int i=0;i<=tChinese.Length();i++)
    {
       if((WORD(WORD(ccp[i])<<8)>>8)>128)             //判断是否为汉字
          temp=temp+ccp[i++]+ccp[i];
    }
    char* cp = new char[temp.Length() + 1 ];
    strcpy(cp,temp.c_str() );
    for(int m=0;m<=temp.Length();m+=2)
    {
       int k;
       k=(WORD(WORD(cp[m])<<8))+(WORD(WORD(cp[m+1])<<8)>>8);
       if(k>=0xB0A1&&k<=0xB0C4)
         result+="a";
       if(k>=0xB0C5&&k<=0xB2C0)
         result+="b";
       if(k>=0xB2C1&&k<=0xB4ED)
         result+="c";
       if(k>=0xB4EE&&k<=0xB6E9)
         result+="d";
       if(k>=0xB6EA&&k<=0xB7A1)
         result+="e";
       if(k>=0xB7A2&&k<=0xB8C0)
         result+="f";
       if(k>=0xB8C1&&k<=0xB9FD)
         result+="g";
       if(k>=0xB9FE&&k<=0xBBF6)
         result+="h";
       if(k>=0xBBF7&&k<=0xBFA5)
         result+="j";
       if(k>=0xBFA6&&k<=0xC0AB)
         result+="k";
       if(k>=0xC0AC&&k<=0xC2E7)
         result+="l";
       if(k>=0xC2E8&&k<=0xC4C2)
         result+="m";
       if(k>=0xC4C3&&k<=0xC5B5)
         result+="n";
       if(k>=0xC5B6&&k<=0xC5BD)
         result+="o";
       if(k>=0xC5BE&&k<=0xC6D9)
         result+="p";
       if(k>=0xC6DA&&k<=0xC8BA)
         result+="q";
       if(k>=0xC8BB&&k<=0xC8F5)
         result+="r";
       if(k>=0xC8F6&&k<=0xCBF9)
         result+="s";
       if(k>=0xCBFA&&k<=0xCDD9)
         result+="t";
       if(k>=0xCDDA&&k<=0xCEF3)
         result+="w";
       if(k>=0xCEF4&&k<=0xD1B8)
         result+="x";
       if(k>=0xD1B9&&k<=0xD4D0)
         result+="y";
       if(k>=0xD4D1&&k<=0xD7F9)
         result+="z";

    }
   return result;
}

C# 获取汉字的拼音首字母和全拼(含源码)

C# 获取汉字的拼音首字母一种是把所有中文字符集合起来组成一个对照表;另一种是依照汉字在Unicode编码表中的排序来确定拼音的首字母。碰到多音字时就以常用的为准(第一种方法中可以自行更改,方法为手动...
  • younghaiqing
  • younghaiqing
  • 2017年03月16日 09:54
  • 4404

sql 中文转拼音首字母

--可支持大字符集20000个汉字! create function f_ch2py(@chn nchar(1)) returns char(1) as begin declare @n int d...
  • zhanglong_longlong
  • zhanglong_longlong
  • 2015年07月06日 11:41
  • 794

VC/MFC 获取汉字拼音首字母(unicode编码)

VC 获取汉字拼音首字母(unicode编码)上CString GetFirstLetter(LPCTSTR strName) { static int li_SecPosValue[] = ...
  • china200_ok
  • china200_ok
  • 2016年01月08日 23:33
  • 1659

完善C#汉字转拼音首字母代码

最近写一个小的程序,需要用到根据汉字自动生成拼音首字母的代码,从网上搜了好多地方都大概找到了下面的代码。但代码存在问题如下:有些常用的汉字无法识别(例如汉字琦、闫、岚等等),包括全椒的括号等特殊字符。...
  • guijianchouperfect
  • guijianchouperfect
  • 2017年06月06日 22:10
  • 915

中文汉字转拼音——大写(默认),小写,首字母大写

汉字转拼音
  • pds574834424
  • pds574834424
  • 2015年04月16日 18:32
  • 1447

PHP获取汉字拼音首字母

  • liuzp111
  • liuzp111
  • 2014年09月02日 14:36
  • 2321

C#下汉字转换成拼音

因为一个开发需求需要把汉字转换成拼音,没想到还真的可以! 找了一个类,是别人整理的,默认情况下第一个字母是大写的。我这边需要都是小写的,可以按照自己情况进行实际的需求进行修改,比如有些时候只要首字母...
  • energeticsunxiaocong
  • energeticsunxiaocong
  • 2016年05月21日 09:29
  • 1293

asp.net汉字转拼音和获取汉字首字母的代码

using System; using System.Data; using System.Configuration; using System.Text; ///  ///...
  • hoiven
  • hoiven
  • 2016年05月06日 16:07
  • 12199

ORACLE函数获取汉字拼音首字母

ORACLE函数获取汉字拼音首字母 /*------增加:yl--*/ oracle 中 NLSSORT函数的用法 NLSSORT(),用来进行语言排序 拼音 SELECT * FR...
  • lixing732100721
  • lixing732100721
  • 2013年12月01日 22:10
  • 6134

MySQL获取汉字的拼音首字母

--获取汉字拼音首字母的函数 DROP FUNCTION IF EXISTS `GET_FIRST_PINYIN_CHAR`; DELIMITER ;; CREATE FUNCTION `GET_FI...
  • u012643122
  • u012643122
  • 2015年10月21日 18:44
  • 1142
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:把我们的汉字转换成为以拼音首字母的关键字的方法
举报原因:
原因补充:

(最多只允许输入30个字)