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

 


 

 

例如:把“我们的祖国是花园”转变成为“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;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值