FileFlow/Global_Indexer/ClassHelper.vb
Digital Data - Marlon Schreiber 701cce5dff MS
2017-04-18 16:08:05 +02:00

46 lines
1.8 KiB
VB.net

Imports System.Text
Imports System.Text.RegularExpressions
Public Class ClassHelper
Public Shared Function encode_utf8(ByVal str As String) As String
Try
'supply True as the construction parameter to indicate
'that you wanted the class to emit BOM (Byte Order Mark)
'NOTE: this BOM value is the indicator of a UTF-8 string
Dim utf8Encoding As New System.Text.UTF8Encoding(True)
Dim encodedString() As Byte
encodedString = utf8Encoding.GetBytes(str)
If LogErrorsOnly = False Then ClassLogger.Add(String.Format(" >> String {0} was encoded via utf8 to {1}", str, utf8Encoding.GetString(encodedString)), False)
Return utf8Encoding.GetString(encodedString)
Catch ex As Exception
ClassLogger.Add("Unexpected error in encode_utf8: " & ex.Message)
Return Nothing
End Try
End Function
Public Shared Function StringAsUtf8Bytes(ByVal strData As String) As Byte()
Try
Dim bytes() As Byte
' get unicode string as bytes
bytes = Encoding.UTF8.GetBytes(strData)
' return byte data
Return bytes
Catch ex As Exception
ClassLogger.Add("Unexpected error in StringAsUtf8Bytes: " & ex.Message)
Return Nothing
End Try
End Function
Public Shared Function CheckSpecialSigns(ByVal str As String)
Try
Dim pattern As String = "[!""#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~\s]"
Dim matches As MatchCollection = Regex.Matches(str, pattern)
Return matches.Count
Catch ex As Exception
ClassLogger.Add("Unexpected error in CheckSpecialSigns: " & ex.Message)
Return 0
End Try
End Function
End Class