GSM下Unicode和中文字符转码


GSM的调试,通常涉及中文字符的转码UNICODE和ASCII。发送中文时,需要先把中文和SIM号码转换为UNICODE发送出去,然后接收到UNICODE的字符,需要转换为中文内容。这部分代码需要做在上位机里。因为下位机的UNICODE支持不是很好。具体代码如下:

  Public Function Unicode2String(ByVal unicode As String) As String
 ' unicode编码转中文
        Dim resultstr As String = ""
        Dim slen As Integer = unicode.Length

        If slen Mod 4 <> 0 Then
             Return resultstr
        End If

        Dim blen As Integer = unicode.Length / 4
        Dim slist(0 To blen - 1) As String

        For i = 0 To blen - 1
            slist(i) = unicode.Substring(4 * i, 4)
        Next

For i = 0 To slist.Length - 1
   resultstr += ChrW(Integer.Parse(slist(i), System.Globalization.NumberStyles.HexNumber))  ' 必须用 chrW        Next

        Return resultstr
    End Function
Public Function Str2Unicode(ByVal txt As String) As String
'中文转Unicode
        Dim a() As String
        Dim str As String
        Dim i As Integer
        For i = 0 To Len(txt) - 1
            On Error Resume Next
            str = Mid(txt, i + 1, 1)
            'If isChinese(str) = True Then '//是中文
            Str2Unicode = Str2Unicode & StrDup(4 - Len(Hex(AscW(str))), "0") & Hex(AscW(str))
            'Else '//不是中文
            'Str2Unicode = Str2Unicode & str
            'End If
        Next

    End Function

点击数: 51   打印  添加到收藏   发布时间: 2020-04-27




上一篇:Teamview远程ID和PWD自动回传方法
下一篇:隔离变压器的作用





» 相关内容
  ubuntu上lua的tcp和udp服务方..
  cpulimit编译ipk包针对AR71XX..
  手动安装opkg方法ipk包-openwr..
  关于MAX3485芯片导致的多串口..
  微波雷达的两个明显作用
  3D打印材料分类特点
  DC-005插座的切换供电功能
  中位滤波算法-net版VB
  麦克风的负DB详细解释
  MD5加密的一段代码
  滤波函数增强版
  Matlab模拟PID方法-推荐
  Matlab强制拟合函数过零方法
  清空USB FX2LP FIFO缓冲方法
  Savgol萨维基购耳滤波方法-MAT..