模块代码如下:
'* ************************************** *
'* 模块名称: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
★VB部分相关文章推荐:★
☆VB 进制转换大全(十进制、十六进制、八进制、二进制、二进制流)互转
☆VB SendMessage向其他程序窗口发送字符串消息实例
☆VB中Null, Empty, Nothing, and vbNullString的区别
☆用RtlAdjustPrivilege来调整进程权限(VB6.0代码)
☆[VB]SaveSetting 语句 和 DeleteSetting 语句
☆[vb]利用WScript.Shell对象隐藏cmd命令行运行
更多精彩>>>