⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 module1.vb

📁 手机短信PDU编码解码函数
💻 VB
字号:
Module Module1
    Public s As SMS
    Sub Main()
        Do

            Console.WriteLine("Please Input PDU code(e to exit):")
            Dim PDUCode As String = Console.ReadLine()
            If UCase(PDUCode) = "E" Then Exit Do
            Dim T As SMS.SMSType = GetSMSType(PDUCode)
            Console.WriteLine(T.ToString)
            Select Case T
                Case SMS.SMSType.EMS_RECEIVED
                    s = New EMS_RECEIVED(PDUCode)
                Case SMS.SMSType.SMS_RECEIVED
                    s = New SMS_RECEIVED(PDUCode)
                Case SMS.SMSType.EMS_SUBMIT
                    s = New EMS_SUBMIT(PDUCode)
                Case SMS.SMSType.SMS_SUBMIT
                    s = New SMS_SUBMIT(PDUCode)
                Case SMS.SMSType.SMS_STATUS_REPORT
                    s = New SMS_STATUS_REPORT(PDUCode)
                Case Else
                    Stop
            End Select
            Console.WriteLine(s.UnicodeToGB(s.TP_UD))
        Loop
    End Sub


    Public Function GetSMSType(ByVal PDUCode As String) As SMS.SMSType
        '取得FirstOctet
        Dim FirstOctet As Byte
        Dim L As Integer = SMS.GetByte(PDUCode)
        SMS.GetByte(PDUCode)
        SMS.GetString(PDUCode, (L - 1) * 2)
        FirstOctet = SMS.GetByte(PDUCode)
        '取得特征码
        '取得基本码 最后两个bit + 是否有header作为标记
        Dim t1 As Integer = FirstOctet And 3 '00000011
        Dim t2 As Integer = FirstOctet And 64 '01000000
        '特别处理
        If t1 = 3 And t2 = 64 Then Return SMS.SMSType.EMS_SUBMIT
        Return t1 + t2
    End Function

End Module

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -