|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
所以使用Adodb.Stream对象来进行字符串的提取
一楼示例中的 BytesToBstr函数,就是将通过XMLHTTP的.ResponseBody得到的二进制数组(GET得到的网页原始数据)传递给Adodb.Stream对象,然后设置编码字符集,以便Stream对象能够识别二进制数据,再通过Stream对象的.ReadText方法得到二进制数据转换之后的字符串。
这样就可以提取数据了。
**********************
另一种常用的转换方法是使用StrConv函数
tt = StrConv(.ResponseBody, vbUnicode, &H804)
这个函数可以将Locale ID (LCID 区域标志符) 的ANSI数组转成Unicode字符串,,在简体中文版里面就是gb2312转成Unicode。如果数组是非ANSI编码或者LCID错误,则不能正确显示字符串。
针对GB2312的网页,在简体版系统中可以直接使用默认的LCID,tt = StrConv(.ResponseBody, vbUnicode)
**********************
考虑到网站编码转换的灵活性,我推荐使用Adodb.Stream对象。
这个对象比StrConv的处理能力要强许多,大部分网页编码都支持,可以直接处理数据流,通用性好一些。
|
|