获得汉字字符串拼音首字母

转载 2004年09月29日 10:50:00
 

'返回给定字符串的首字母<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

Function IndexCode(ByVal IndexTxt As String) As String

    Dim i As Integer

    For i = 1 To IndexTxt.Length

        IndexCode = IndexCode & GetOneIndex(Mid(IndexTxt, i, 1))

    Next

End Function

 

'得到单个字符的首字母

Private Function GetOneIndex(ByVal OneIndexTxt As String) As String

    If Asc(OneIndexTxt) >= 0 And Asc(OneIndexTxt) < 256 Then

        GetOneIndex = OneIndexTxt

    Else

        GetOneIndex = GetX(CInt(Format((Asc(OneIndexTxt) + 65536) / 256 - 160, "00") & Format((Asc(OneIndexTxt) + 65536) Mod 256 - 160, "00")))

    End If

End Function

 

'根据区位得到首字母

Private Function GetX(ByVal GBCode As Integer) As String

    '判断一级汉字

    If GBCode >= 1601 And GBCode < 1637 Then GetX = "A"

    If GBCode >= 1637 And GBCode < 1833 Then GetX = "B"

    If GBCode >= 1833 And GBCode < 2078 Then GetX = "C"

    If GBCode >= 2078 And GBCode < 2274 Then GetX = "D"

    If GBCode >= 2274 And GBCode < 2302 Then GetX = "E"

    If GBCode >= 2302 And GBCode < 2433 Then GetX = "F"

    If GBCode >= 2433 And GBCode < 2594 Then GetX = "G"

    If GBCode >= 2594 And GBCode < 2787 Then GetX = "H"

    If GBCode >= 2787 And GBCode < 3106 Then GetX = "J"

    If GBCode >= 3106 And GBCode < 3212 Then GetX = "K"

    If GBCode >= 3212 And GBCode < 3472 Then GetX = "L"

    If GBCode >= 3472 And GBCode < 3635 Then GetX = "M"

    If GBCode >= 3635 And GBCode < 3722 Then GetX = "N"

    If GBCode >= 3722 And GBCode < 3730 Then GetX = "O"

    If GBCode >= 3730 And GBCode < 3858 Then GetX = "P"

    If GBCode >= 3858 And GBCode < 4027 Then GetX = "Q"

    If GBCode >= 4027 And GBCode < 4086 Then GetX = "R"

    If GBCode >= 4086 And GBCode < 4390 Then GetX = "S"

    If GBCode >= 4390 And GBCode < 4558 Then GetX = "T"

    If GBCode >= 4558 And GBCode < 4684 Then GetX = "W"

    If GBCode >= 4684 And GBCode < 4925 Then GetX = "X"

    If GBCode >= 4925 And GBCode < 5249 Then GetX = "Y"

    If GBCode >= 5249 And GBCode <= 5589 Then GetX = "Z"

 

    '判断二级汉字

    If GBCode >= 5601 And GBCode <= 8794 Then

        Dim CodeData As String

        CodeData = "cjwgnspgcenegypbtwxzdxykygtpjnmjqmbsgzscyjsyyfpggbzgydywjkgaljswkbjqhyjwpdzlsgmrybywwccgznkydgttngjeyekzydcjnmcylqlypyqbqrpzslwbdgkjfyxjwcltbncxjjjjcxdtqsqzycdxxhgckbphffsspybgmxjbbyglbhlssmzmpjhsojnghdzcdklgjhsgqzhxqgkezzwymcscjnyetxadzpmdssmzjjqjyzcjjfwqjbdzbjgdnzcbwhgxhqkmwfbpbqdtjjzkqhylcgxfptyjyyzpsjlfchmqshgmmxsxjpkdcmbbqbefsjwhwwgckpylqbgldlcctnmaeddksjngkcsgxlhzaybdbtsdkdylhgymylcxpycjndqjwxqxfyyfjlejbzrwccqhqcsbzkymgplbmcrqcflnymyqmsqtrbcjthztqfrxchxmcjcjlxqgjmshzkbswxemdlckfsydsglycjjssjnqbjctyhbftdcyjdgwyghqfrxwckqkxebpdjpxjqsrmebwgjlbjslyysmdxlclqkxlhtjrjjmbjhxhwywcbhtrxxglhjhfbmgykldyxzpplggpmtcbbajjzyljtyanjgbjflqgdzyqcaxbkclecjsznslyzhlxlzcghbxzhznytdsbcjkdlzayffydlabbgqszkggldndnyskjshdlxxbcghxyggdjmmzngmmccgwzszxsjbznmlzdthcqydbdllscddnlkjyhjsycjlkohqasdhnhcsgaehdaashtcplcpqybsdmpjlpcjaqlcdhjjasprchngjnlhlyyqyhwzpnccgwwmzffjqqqqxxaclbhkdjxdgmmydjxzllsygxgkjrywzwyclzmcsjzldbndcfcxyhlschycjqppqagmnyxpfrkssbjlyxyjjglnscmhcwwmnzjjlhmhchsyppttxrycsxbyhcsmxjsxnbwgpxxtaybgajcxlypdccwqocwkccsbnhcpdyznbcyytyckskybsqkkytqqxfcwchcwkelcqbsqyjqcclmthsywhmktlkjlychwheqjhtjhppqpqscfymmcmgbmhglgsllysdllljpchmjhwljcyhzjxhdxjlhxrswlwzjcbxmhzqxsdzpmgfcsglsdymjshxpjxomyqknmyblrthbcftpmgyxlchlhlzylxgsssscclsldclepbhshxyyfhbmgdfycnjqwlqhjjcywjztejjdhfblqxtqkwhdchqxagtlxljxmsljhdzkzjecxjcjnmbbjcsfywkbjzghysdcpqyrsljpclpwxsdwejbjcbcnaytmgmbapclyqbclzxcbnmsggfnzjjbzsfqyndxhpcqkzczwalsbccjxpozgwkybsgxfcfcdkhjbstlqfsgdslqwzkxtmhsbgzhjcrglyjbpmljsxlcjqqhzmjczydjwbmjklddpmjegxyhylxhlqyqhkycwcjmyhxnatjhyccxzpcqlbzwwwtwbqcmlbmynjcccxbbsnzzljpljxyztzlgcldcklyrzzgqtgjhhgjljaxfgfjzslcfdqzlclgjdjcsnclljpjqdcclcjxmyzftsxgcgsbrzxjqqcczhgyjdjqqlzxjyldlbcyamcstylbdjbyregklzdzhldszchznwczcllwjqjjjkdgjcolbbzppglghtgzcygezmycnqcycyhbhgxkamtxyxnbskyzzgjzlqjdfcjxdygjqjjpmgwgjjjpkjsbgbmmcjssclpqpdxcdyykypcjddyygywchjrtgcnyqldkljczzgzccjgdyksgpzmdlcphnjafyzdjcnmwescsglbtzcgmsdllyxqsxsbljsbbsgghfjlwpmzjnlyywdqshzxtyywhmcyhywdbxbtlmswyyfsbjcbdxxlhjhfpsxzqhfzmqcztqcxzxrdkdjhnnyzqqfnqdmmgnydxmjgdhcdycbffallztdltfkmxqzdngeqdbdczjdxbzgsqqddjcmbkxffxmkdmcsychzcmljdjynhprsjmkmpcklgdbqtfzswtfgglyplljzhgjjgypzltcsmcnbtjbhfkdhbyzgkpbbymtdlsxsbnpdkleycjnycdykzddhqgsdzsctarlltkzlgecllkjljjaqnbdggghfjtzqjsecshalqfmmgjnlyjbbtmlycxdcjpldlpcqdhsycbzsckbzmsljflhrbjsnbrgjhxpdgdjybzgdlgcsezgxlblgyxtwmabchecmwyjyzlljjshlgndjlslygkdzpzxjyyzlpcxszfgwyydlyhcljscmbjhblyjlycblydpdqysxktbytdkdxjypcnrjmfdjgklccjbctbjddbblblcdqrppxjcglzcshltoljnmdddlngkaqakgjgyhheznmshrphqqjchgmfprxcjgdychghlyrzqlcngjnzsqdkqjymszswlcfqjqxgbggxmdjwlmcrnfkkfsyyljbmqammmycctbshcptxxzzsmphfshmclmldjfyqxsdyjdjjzzhqpdszglssjbckbxyqzjsgpsxjzqznqtbdkwxjkhhgflbcsmdldgdzdblzkycqnncsybzbfglzzxswmsccmqnjqsbdqsjtxxmbldxcclzshzcxrqjgjylxzfjphymzqqydfqjjlcznzjcdgzygcdxmzysctlkphtxhtlbjxjlxscdqccbbqjfqzfsltjbtkqbsxjjljchczdbzjdczjccprnlqcgpfczlclcxzdmxmphgsgzgszzqjxlwtjpfsyaslcjbtckwcwmytcsjjljcqlwzmalbxyfbpnlschtgjwejjxxglljstgshjqlzfkcgnndszfdeqfhbsaqdgylbxmmygszldydjmjjrgbjgkgdhgkblgkbdmbylxwcxyttybkmrjjzxqjbhlmhmjjzmqasldcyxyqdlqcafywyxqhz"

        GetX = Mid(CodeData, (Microsoft.VisualBasic.Left(CStr(GBCode), 2) - 56) * 94 + (Microsoft.VisualBasic.Right(CStr(GBCode), 2)), 1)

    End If

End Function

根据汉字获取它的字符串拼音首字母(大写),含多音字

/// /// 根据汉字获取它的字符串拼音首字母(大写),含多音字 /// /// /// publi...
  • zhao19890429
  • zhao19890429
  • 2013年12月08日 10:34
  • 3940

java 获取中文拼音首字母(缩写)

直接上代码: import java.io.UnsupportedEncodingException; /** * * @author yuki_ho * */ public class...
  • qq_19707521
  • qq_19707521
  • 2017年07月25日 10:31
  • 1152

获得汉字拼音首字母的工具类

JAVA进行汉子首字母全拼和汉字全拼,代码总结了网上的代码。 值得注意的是UTF-8的汉字占用3个字符,GBK的占用2个字符,根据实际自行获取判断。 可能还有一些生僻的字符,可以根据实际情况写在配...
  • rubyniurui
  • rubyniurui
  • 2017年03月08日 12:30
  • 221

Java获取中文拼音、中文首字母缩写和中文首字母

我们有时候会遇到这样的情况,需要获取某些中文的拼音、中文首字母缩写和中文首字母,下面我将为大家介绍一下如何获取中文拼音的缩写。 1、项目建立和配置 首先,我们建立一个java项目,新建libs文件夹并...
  • u013043346
  • u013043346
  • 2015年12月01日 16:35
  • 7729

PHP开发小技巧⑦—获取中文字符的拼音首字母

有时候在我们的项目开发过程中,需要对某一组数据按照中文进行排序,这就需要我们首先获取这些中文字符的首字母,然后进行排序,这是解决此类问题的以后总方法。笔者就曾遇到这样一个问题,当时由于经验比较少,为了...
  • Zhihua_W
  • Zhihua_W
  • 2016年12月06日 08:49
  • 1007

mysql获取汉字拼音首字母

DELIMITER $$ USE `test`$$ DROP FUNCTION IF EXISTS `getPY`$$ CREATE DEFINER=`root`@`%` FUNCTION `g...
  • benben0503
  • benben0503
  • 2015年09月29日 14:17
  • 2513

oracle汉字转拼音package_获得全拼——拼音首字母_拼音截取

-------------------------------------------- -- Export file for user ZP10086 -- -- Created...
  • boenwan
  • boenwan
  • 2016年03月16日 11:01
  • 1417

Android -- 获取汉字的首字母

转换                                                                                             获取一个...
  • gebitan505
  • gebitan505
  • 2014年08月06日 11:03
  • 8525

Mysql如何获取汉字首字母

排序时或者选择显示时,经常会需要 首字母-中文名称的格式: S - 上海过河兵电子商务有限公司 亲测简单有效的方法...
  • westworld2017163com
  • westworld2017163com
  • 2017年02月20日 15:34
  • 348

生成与中文字符串相对映的拼音首字母串的函数(js)

/*作者:梅雪香日期:2006-7-29功能:生成与中文字符串相对映的拼音首字母串版本: V1.0 alpha*/// 汉字拼音首字母列表 本列表包含了20902个汉字,用于配合 ToChineseS...
  • xuStanly
  • xuStanly
  • 2007年08月28日 01:14
  • 4448
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:获得汉字字符串拼音首字母
举报原因:
原因补充:

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