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

[ 2015-11-14 13:12:51 | 作者: admin ]
字号: | |
'* ************************************** *
'* 模块名称: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
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=2296

这篇日志没有评论。

此日志不可发表评论。