将汉字转换为大写的拼音首字母

     ' 函数名  :GetSpellCode  
     ' 函数功能:将汉字转换为大写的拼音首字母
     ' 传入参数:Cnstr:待转换的汉字字符串
     ' 返回值  :拼音字符串
     ' 制作人  :zzz
     ' 制作日期:2007-02-10
     ' 说  明  :对于U、V无法转换
     Public   Function GetSpellCode(ByVal CnStr As StringAs String
        
Dim strTemp As String = ""
        
Dim iLen As Int16 = CnStr.Length, i As Int16 = 0

        
For i = 0 To iLen - 1
            strTemp 
+= GetCharSpellCode(CnStr.Substring(i, 1))
        
Next

        GetSpellCode 
= strTemp
    
End Function


    
' 函数名  :GetCharSpellCode  
     ' 函数功能:将一个汉字转换为大写的拼音首字母
     ' 传入参数:Cnstr:待转换的汉字字符
     ' 返回值  :拼音字符
     ' 制作人  :zzz
     ' 制作日期:2007-02-10
     ' 说  明  :对于U、V无法转换
     Private   Function GetCharSpellCode(ByVal CnChar As StringAs String
        
Dim iCnChar As Long
        
Dim Zw() As Byte = System.Text.Encoding.Default.GetBytes(CnChar)

        
'如果是字母,则直接返回
        Dim i1 As Int16 = Zw(0)
        
Dim i2 As Int16 = Zw(1)

        iCnChar 
= i1 * 256 + i2
        
If ((iCnChar >= 45217And (iCnChar <= 45252)) Then
            
Return "A"
        
ElseIf ((iCnChar >= 45253And (iCnChar <= 45760)) Then
            
Return "B"
        
ElseIf ((iCnChar >= 45761And (iCnChar <= 46317)) Then
            
Return "C"
        
ElseIf ((iCnChar >= 46318And (iCnChar <= 46825)) Then
            
Return "D"
        
ElseIf ((iCnChar >= 46826And (iCnChar <= 47009)) Then
            
Return "E"
        
ElseIf ((iCnChar >= 47010And (iCnChar <= 47296)) Then
            
Return "F"
        
ElseIf ((iCnChar >= 47297And (iCnChar <= 47613)) Then
            
Return "G"
        
ElseIf ((iCnChar >= 47614And (iCnChar <= 48118)) Then
            
Return "H"
        
ElseIf ((iCnChar >= 48119And (iCnChar <= 49061)) Then
            
Return "J"
        
ElseIf ((iCnChar >= 49062And (iCnChar <= 49323)) Then
            
Return "K"
        
ElseIf ((iCnChar >= 49324And (iCnChar <= 49895)) Then
            
Return "L"
        
ElseIf ((iCnChar >= 49896And (iCnChar <= 50370)) Then
            
Return "M"
        
ElseIf ((iCnChar >= 50371And (iCnChar <= 50613)) Then
            
Return "N"
        
ElseIf ((iCnChar >= 50614And (iCnChar <= 50621)) Then
            
Return "O"
        
ElseIf ((iCnChar >= 50622And (iCnChar <= 50905)) Then
            
Return "P"
        
ElseIf ((iCnChar >= 50906And (iCnChar <= 0.51386)) Then
            
Return "Q"
        
ElseIf ((iCnChar >= 51387And (iCnChar <= 51445)) Then
            
Return "R"
        
ElseIf ((iCnChar >= 51446And (iCnChar <= 52217)) Then
            
Return "S"
        
ElseIf ((iCnChar >= 52218And (iCnChar <= 52697)) Then
            
Return "T"
        
ElseIf ((iCnChar >= 52698And (iCnChar <= 52979)) Then
            
Return "W"
        
ElseIf ((iCnChar >= 52980And (iCnChar <= 53640)) Then
            
Return "X"
        
ElseIf ((iCnChar >= 53689And (iCnChar <= 54480)) Then
            
Return "Y"
        
ElseIf ((iCnChar >= 54481And (iCnChar <= 55289)) Then
            
Return "Z"
        
Else
            
Return ("?")
        
End If
    
End Function
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值