初始化项目

This commit is contained in:
2025-12-11 11:54:05 +08:00
commit 6fb36792ed
64 changed files with 100079 additions and 0 deletions

146
publicMode.vb Normal file
View File

@@ -0,0 +1,146 @@
Public Class publicMode
'字符串转byte数组
Public Shared Function StringToByte(ByVal str As String) As Byte()
Return System.Text.Encoding.Default.GetBytes(str)
End Function
Public Shared Function StringToHexString(ByVal b As String) As String
Dim sbuff = StringToByte(b)
Return ByteToHex(sbuff)
End Function
'byte数组转字符串
Public Shared Function ByteToString(ByVal b As Byte()) As String
Return System.Text.Encoding.Default.GetString(b)
End Function
'byte数组转十六进制字符串
Public Shared Function ByteToHex(ByVal b As Byte()) As String
Dim s As String = ""
For Each c As Byte In b
s += c.ToString("X2")
Next
Return s
End Function
'字符串转十六进制字符串不足两位补0
Public Shared Function StringToHex(ByVal str As String) As String
Dim s As String = ""
For Each c As Char In str
s += Convert.ToString(Asc(c), 16).PadLeft(2, "0")
Next
Return s
End Function
'字符串每两个字节转十六进制字符串 不足两位补0
Public Shared Function StringToHex2(ByVal str As String) As String
Dim s As String = ""
Dim nv As String = ""
For i As Integer = 0 To str.Length - 1 Step 2
nv = str.Substring(i, 1)
If nv.Length = 1 Then
nv = "0" & nv
End If
s += nv
Next
Return s
End Function
Public Shared Function StringToHex3(ByVal str As String) As String
Dim result As String = ""
For Each c As Char In str
Dim bytes As Byte() = System.Text.Encoding.Unicode.GetBytes(c)
For Each b As Byte In bytes
result += b.ToString("X2")
Next
Next
Return result
End Function
'十六进制字符串转byte数组
Public Shared Function HexToByte(ByVal hex As String) As Byte()
Dim b As Byte() = New Byte(hex.Length / 2 - 1) {}
Try
For i As Integer = 0 To hex.Length - 1 Step 2
b(i / 2) = Convert.ToByte(hex.Substring(i, 2), 16)
Next
Catch ex As Exception
Return Nothing
End Try
Return b
End Function
'十六进制字符串转字符串
Public Shared Function ByteToHexString(databuff() As Byte) As String
Dim strData As String = String.Empty
For i = 0 To databuff.Length - 1
strData &= $" {Hex(databuff(i)).PadLeft(2, "0"c)}"
Next
Return strData
End Function
'十六进制字符串转字符串
Public Shared Function HexStringToByte(hexstr As String) As Byte()
Dim result As Byte() = Nothing
'判断字符串是否为空或 者为空字符串
If String.IsNullOrEmpty(hexstr) Then Return Nothing
'替换字符中的分隔符号
hexstr = hexstr.Trim().Replace(" ", "").Replace("-", "").Replace(",", "").Replace(":", "").Replace(";", "").Replace(".", "")
'判断字符串的长度是否为偶数
If hexstr.Length Mod 2 <> 0 Then
'不为偶数往最后一个字节前面补0
hexstr = hexstr.Insert(hexstr.Length - 1, "0")
End If
'以2为步长将字符串转换为字节数组 不足2位前面补0
Try
result = Enumerable.Range(0, hexstr.Length).Where(Function(x) x Mod 2 = 0).Select(Function(x) Convert.ToByte(hexstr.Substring(x, 2), 16)).ToArray()
Catch ex As Exception
result = Nothing
End Try
Return result
End Function
'Public Shared Function HexStringToByte(hexstr As String) As String
' '判断字符串是否为空或 者为空字符串
' If String.IsNullOrEmpty(hexstr) Then Return Nothing
' '替换字符中的分隔符号
' hexstr = hexstr.Trim().Replace(" ", "").Replace("-", "").Replace(",", "").Replace(":", "").Replace(";", "").Replace(".", "")
' '判断字符串的长度是否为偶数
' If hexstr.Length Mod 2 <> 0 Then
' '不为偶数往最后一个字节前面补0
' hexstr = hexstr.Insert(hexstr.Length - 1, "0")
' End If
' '以2为步长将字符串转换为字节数组 不足2位前面补0
' Return hexstr 'Enumerable.Range(0, hexstr.Length).Where(Function(x) x Mod 2 = 0).Select(Function(x) Convert.ToByte(hexstr.Substring(x, 2), 16)).ToArray()
'End Function
''' <summary>
''' Int转2个字节Byte
''' 高字节在前,低字节在后
''' </summary>
''' <param name="i"></param>
''' <returns></returns>
Public Shared Function IntToByteHB(ByVal i As Integer) As Byte()
Dim btemp() As Byte = {0, 0}
Dim b() As Byte = BitConverter.GetBytes(i)
btemp(0) = b(0)
btemp(1) = b(1)
Return btemp
End Function
''' <summary>
''' Int转2个字节Byte
''' 高字节在前,低字节在后
''' </summary>
''' <param name="i"></param>
''' <returns></returns>
Public Shared Function IntToByteLB(ByVal i As Integer) As Byte()
Dim btemp() As Byte = {0, 0}
Dim b() As Byte = BitConverter.GetBytes(i)
btemp(0) = b(1)
btemp(1) = b(0)
Return btemp
End Function
End Class