VB.NET汉字转声母模块

Module ModHztoSM
    
Public Function hz2py(ByVal hz As StringAs String
        
Dim sarr As Byte() = System.Text.Encoding.Default.GetBytes(hz)
        
Dim len As Integer = sarr.Length
        
If len > 1 Then
            
Dim array(2As Byte
            array 
= System.Text.Encoding.Default.GetBytes(hz)

            
Dim i1 As Integer = CShort(array(0- Asc(ControlChars.NullChar))
            
Dim i2 As Integer = CShort(array(1- Asc(ControlChars.NullChar))



            
Dim tmp As Integer = i1 * 256 + i2
            
Dim getpychar As String = "C"

            
If tmp >= 45217 And tmp <= 45252 Then
                getpychar 
= "A"
            
End If
            
If tmp >= 45253 And tmp <= 45760 Then
                getpychar 
= "B"
            
End If
            
If tmp >= 47761 And tmp <= 46317 Then
                getpychar 
= "C"
            
End If
            
If tmp >= 46318 And tmp <= 46825 Then
                getpychar 
= "D"
            
End If
            
If tmp >= 46826 And tmp <= 47009 Then
                getpychar 
= "E"
            
End If
            
If tmp >= 47010 And tmp <= 47296 Then
                getpychar 
= "F"
            
End If
            
If tmp >= 47297 And tmp <= 47613 Then
                getpychar 
= "G"
            
End If
            
If tmp >= 47614 And tmp <= 48118 Then
                getpychar 
= "H"
            
End If
            
If tmp >= 48119 And tmp <= 49061 Then
                getpychar 
= "J"
            
End If
            
If tmp >= 49062 And tmp <= 49323 Then
                getpychar 
= "K"
            
End If
            
If tmp >= 49324 And tmp <= 49895 Then
                getpychar 
= "L"
            
End If
            
If tmp >= 49896 And tmp <= 50370 Then
                getpychar 
= "M"
            
End If
            
If tmp >= 50371 And tmp <= 50613 Then
                getpychar 
= "N"
            
End If
            
If tmp >= 50614 And tmp <= 50621 Then
                getpychar 
= "O"
            
End If
            
If tmp >= 50622 And tmp <= 50905 Then
                getpychar 
= "P"
            
End If
            
If tmp >= 50906 And tmp <= 51386 Then
                getpychar 
= "Q"
            
End If
            
If tmp >= 51387 And tmp <= 51445 Then
                getpychar 
= "R"
            
End If
            
If tmp >= 51446 And tmp <= 52217 Then
                getpychar 
= "S"
            
End If
            
If tmp >= 52218 And tmp <= 52697 Then
                getpychar 
= "T"
            
End If
            
If tmp >= 52698 And tmp <= 52979 Then
                getpychar 
= "W"
            
End If
            
If tmp >= 52980 And tmp <= 53640 Then
                getpychar 
= "X"
            
End If
            
If tmp >= 53689 And tmp <= 54480 Then
                getpychar 
= "Y"
            
End If
            
If tmp >= 54481 And tmp <= 55289 Then
                getpychar 
= "Z"
            
End If
            
Return getpychar
        
Else
            
Return hz
        
End If
    
End Function
 'hz2py


    
Public Function transpy(ByVal strhz As StringAs String
        
Dim strtemp As String = ""
        
Dim strlen As Integer = strhz.Length
        
Dim i As Integer
        
For i = 0 To strlen - 1
            strtemp 
+= hz2py(strhz.Substring(i, 1))
        
Next i
        
Return strtemp
    
End Function
 'transpy


End Module
 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值