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