Const adTypeText=2
‘ accept a string and convert it to Bytes array in the selected Charset
Function StringToBytes(Str,Charset)
Dim Stream : Set Stream=CreateObject(“ADODB.Stream”)
Stream.Type=adTypeText
Stream.Charset=Charset
Stream.Open
Stream.WriteText Str
Stream.Flush
Stream.Position=0
‘ rewind stream and read Bytes
Stream.Type=adTypeBinary
StringToBytes=Stream.Read
Stream.Close
Set Stream=Nothing
End Function
‘ accept Bytes array and convert it to a string using the selected charset
Function BytesToString(Bytes, Charset)
Dim Stream : Set Stream=CreateObject(“ADODB.Stream”)
Stream.Charset=Charset
Stream.Type=adTypeBinary
Stream.Open
Stream.Write Bytes
Stream.Flush
Stream.Position=0
‘ rewind stream and read text
Stream.Type=adTypeText
BytesToString=Stream.ReadText
Stream.Close
Set Stream=Nothing
End Function
‘ This will alter charset of a string from 1-byte charset(as windows-1252)
‘ to another 1-byte charset(as windows-1251)
Function AlterCharset(Str, FromCharset, ToCharset)
Dim Bytes
Bytes=StringToBytes(Str, FromCharset)
AlterCharset=BytesToString(Bytes, ToCharset)
End Function