利用ADO STREAM实现GB2312和UTF8编码转换

'* ************************************** * '* 模块名称:modCharset.bas '* 模块功能:GB2312与UTF8相互转换函数 '* 作者:lyserver '* ************************************** * Option Explicit '- ------------------------------------------- - ' 函数说明:GB2312转换为UTF8 '- ------------------------------------------- - Public Function GB2312ToUTF8(strIn As String, Optional ByVal ReturnValueType As VbVarType = vbString) As Variant Dim adoStream As Object Set adoStream = CreateObject("ADODB.Stream") adoStream.Charset = "utf-8" adoStream.Type = 2 'adTypeText adoStream.Open adoStream.WriteText strIn adoStream.Position = 0 adoStream.Type = 1 'adTypeBinary GB2312ToUTF8 = adoStream.Read() adoStream.Close If ReturnValueType = vbString Then GB2312ToUTF8 = Mid(GB2312ToUTF8, 1) End Function '- ------------------------------------------- - ' 函数说明:UTF8转换为GB2312 '- ------------------------------------------- - Public Function UTF8ToGB2312(ByVal varIn As Variant) As String Dim bytesData() As Byte Dim adoStream As Object bytesData = varIn Set adoStream = CreateObject("ADODB.Stream") adoStream.Charset = "utf-8" adoStream.Type = 1 'adTypeBinary adoStream.Open adoStream.Write bytesData adoStream.Position = 0 adoStream.Type = 2 'adTypeText UTF8ToGB2312 = adoStream.ReadText() adoStream.Close End Function

你可能感兴趣的:(VB6)