Convert Strings from Unicode to ANSI Bytearrays

Convert Strings from Unicode to ANSI Bytearrays

Instead of working with text as strings and using the mid, left, and right functions, it’s better to convert the string to an ANSI bytearray. This can be done with the StrConv function (in VB6 and later). This is a simple example that strips the character that does not exist in the interval of 32 or 65-90, or 97-122.

 Public Function CleanString(Text As String) Dim Data() As Byte Dim Result() As Byte Dim Index As Long Dim Length As Long Dim Count As Long         Data = StrConv(Text, vbFromUnicode)     Length = UBound(Data)     ReDim Result(0 To Length)     For Index = 0 To Length         Select Case Data(Index)         Case 32, 65 To 90, 97 To 122             Result(Count) = Data(Index)             Count = Count + 1         End Select     Next         If Count > 0 Then 'Check if there is any result. And prevents error if Count = 0         ReDim Preserve Result(0 To Count - 1)         CleanString = StrConv(Result, vbUnicode)     End If End Function 


Share the Post: