VBS字符串编码转换函数代码(vb字符串转换为文本类型)墙裂推荐

随心笔谈9个月前发布 admin
209 00
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买

文章摘要

本文介绍了一个使用ADODB库实现的字符集转换功能,主要包括三个关键函数: 1. **StringToBytes**:接受一个字符串和字符集,将字符串转换为字节数组。通过创建一个文本流,将字符串写入流并转换为目标字符集的字节数组。2. **BytesToString**:接受字节数组和字符集,将字节数组转换为字符串。通过创建一个二进制流,将字节数组写入流并解码为目标字符集的字符串。3. **AlterCharset**:通过中间步骤实现字符集转换,首先将字符串转换为字节数组,然后将字节数组转换为目标字符集的字符串。 这些函数利用了ADODB库的Stream对象,通过操作流来实现字符编码的转换。整体上,该方法通过中间字节数组实现了字符集间的转换,适用于需要改变字符集的场景。

Const adTypeBinary=1
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

© 版权声明

相关文章