VB.net中字符串转16进制,string转byte,串口发送文本直接转16进制数据

在使用串口发送数据指令时,通常要求的事字节数组,而通常输入文本框输入的都是字符,所以,如果希望发送时字符直接变成字节,就需要进行转换。

网上有很多这种程序,但大多数比较繁琐,有一种利用正则表达式来进行提取转换的程序比较简单,这里分享出来:

  ''' 
    ''' 字符转16进制函数
    ''' 本函数为自定义函数
    ''' 
    ''' 字符串

    Private Function strtohex(s As String) '将字符串转成16进制数值

        Dim mc As MatchCollection = Regex.Matches(s, "(?i)[\da-f]{2}")  '使用正则表达式从输入文本框的字符串中提取16进制数
        Dim buf As New List(Of Byte)()
        Dim bt As Byte()


        For Each m As Match In mc

            buf.Add(Byte.Parse(m.Value, System.Globalization.NumberStyles.HexNumber))

        Next
        bt = buf.ToArray()
        Return bt
        'Console.WriteLine(bt)



    End Function

上面的程序,输入一串字符,返回的是16进制的字节数据。

你可能感兴趣的:(VB.net实例应用,工业自动化编程,VB.net)