明天会更加美好 2023-02-28 22:53 采纳率: 100%
浏览 72
已结题

关于TCP客户端接收数据格式乱码

关于TCP客户端接收数据格式乱码,是一个485串口服务器网关连接电脑,485接线到电表读取用电量

img

发送 01 04 00 00 00 02 71 CB 接收到的是乱码

这是处理发送的代码
 Sub SendMsg(ByVal Msg As String) '发送数据
        Dim sendData As String = TxtSendMsg.Text
        Try '捕获异常
            sendData.Replace("0x", "")
            sendData.Replace("0x", "")
            Dim strArray() As String = sendData.Split(New Char() {",", ",", "\r", "\n", " ", "\t"})
            Dim decnum As Integer = 0
            Dim i As Integer = 0
            Dim sendBuffer() As Byte = New Byte(strArray.Length) {}
            Dim str As String
            For Each str In strArray
                Try
                    decnum = Convert.ToInt16(str, 16)
                    sendBuffer(i) = Convert.ToByte(decnum)
                    i = i + 1
                Catch

                End Try
            Next
            SockClient.Send(sendBuffer)
        Catch ss As SocketException
            ShowMsg(ss.Message)
            Return
        Catch s As Exception
            ShowMsg(s.Message)
            Return
        End Try

        ShowMsg("发送:" & Msg)
    End Sub

这是接收的代码

Sub RecMsg() '接受数据处理
        Dim buffMsgRec() As Byte = New Byte(1024 * 1024 * 10) {}
        Dim length As Integer = -1
        While True
            Try '捕获异常

                length = SockClient.Receive(buffMsgRec)

            Catch ss As SocketException
                ShowMsg(ss.Message)
                Return
            Catch s As Exception
                ShowMsg(s.Message)
                Return
            End Try

            Dim StrMsg As String
            StrMsg = System.Text.Encoding.UTF8.GetChars(buffMsgRec, 0, length)

            ShowMsg("接收:" & StrMsg)
        End While
    End Sub

  • 写回答

1条回答 默认 最新

  • 伍六七0804 2023-03-01 10:07
    关注

    把接收的十六进制数据转成字符串形式显示

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月1日
  • 已采纳回答 3月1日
  • 创建了问题 2月28日

悬赏问题

  • ¥50 关于#html5#的问题:H5页面用户手机返回的时候跳转到指定页面例如(语言-javascript)
  • ¥15 无法使用此凭据登录,因为你的域不可用,如何解决?(标签-Windows)
  • ¥15 yolov9的训练时间
  • ¥15 二叉树遍历没有报错但无法正常运行
  • ¥15 在linux系统下vscode运行robocup3d上场球员报错
  • ¥15 Python语言实验
  • ¥15 SAP HANA SQL 增加合计行
  • ¥20 用C#语言解决一个英文打字练习器,有偿
  • ¥15 srs-sip外部服务 webrtc支持H265格式
  • ¥15 在使用abaqus软件中,继承到assembly里的surfaces怎么使用python批量调动