- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
利用ADODB.Stream判断文件编码
利用ADODB.Stream判断文件编码
利用ADODB.Stream判断文件编码2008-03-14 15:49ANSI无格式定义
EFBB BF UTF-8
FFFE UTF-16/UCS-2, little endian
FEFF UTF-16/UCS-2, big endian
FFFE 0000 UTF-32/UCS-4, little endian
0000 FEFF UTF-32/UCS-4, big endian
function checkcode(path)
set objstream=server.createobject(adodb.stream)
objstream.Type=1
objstream.mode=3
objstream.open
objstream.Position=0
objstream.loadfromfile path
bintou=objstream.read(2)
If AscB(MidB(bintou,1,1))=HEF And AscB(MidB(bintou,2,1))=HBB Then
checkcode=utf-8
ElseIf AscB(MidB(bintou,1,1))=HFF And AscB(MidB(bintou,2,1))=HFE Then
checkcode=unicode
Else
checkcode=gb2312
End If
objstream.close
set objstream=nothing
end function
UTF8文件有BOM和No BOM两种,其区别在于BOM多了三个字节(EFBBBF),对比了二进制文件,发现有这个区别,如果是NoBOM的文件就无法通过前两个字节判断是否为UTF-8文件。
利用Adodb.Stream对象处理Charset2008-03-13 16:52Function tran_ado(ByVal strA As String, _
Optional ByVal strInCode As String = gb2312, _
Optional ByVal strOutCode As String = big5) As String
本函数进行编码转换。
对应的 strInCode 和 strOutCode 在注册表以下位置中能找到
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\MIME\Database\Charset
请先引用 Microsoft ActiveX Data Objects 2.5 Library
或者以上版本
Dim Stm As New ADODB.Stream
默认情况下是将简体中文转换为繁体中文
Stm.Type = adTypeText
Stm.Mode = adModeUnknown
Stm.Open
Stm.Charset = strOutCode
Stm.WriteText strA
Stm.Position = 0
Stm.Type = adTypeText
Stm.Charset = strInCode
tran_ado = Stm.ReadText()
Stm.Close
End Function
Function runTest()
Dim objFile, stmFile
Dim strText As String
Set objFile = CreateObject(Scripting.FileSystemObject)
Set stmFile = objFile.OpenTextFile(c:\abc.txt, 1, False)
strText = stmFile.ReadAll
strText = tran_ado(strText, gb2312, utf-8) 出来的就是 UTF-8 了
stmFile.Close
Set stmFile = objFile.CreateTextFile(c:\abc_tr.txt, True)
stmFile.Write strText
stmFile.Close
End Function
生成utf-8编码的静态页,要用ADODB.Stream代替FSO
您可能关注的文档
- 函数Y=ASin(ωX ψ)的图像.doc
- 函数型计算器(VC++6.0,win32 console).doc
- 函数的应用训练题.doc
- 函数索引的使用细节——自定义函数的索引化.doc
- 刀架故障.doc
- 分享导语:曾经看到一句话的时候,.doc
- 分区大小调整完全手册.doc
- 分区魔术师 运用.doc
- 分子生物葵花宝典.doc
- 分式方程最新练习题100题-1.doc
- 中考语文复习专题二整本书阅读课件.ppt
- 中考语文复习积累与运用课件.ppt
- 2025年初中学业水平考试模拟试题(二)课件.ppt
- 四川省2015届理科综合试题48套第12套.pdf
- 【课件】战争与和平—美术作品反映战争+课件-2024-2025学年高中美术湘美版(2019)美术鉴赏.pptx
- 【课件】青春牢筑国家安全防线 课件 2024-2025学年高中树立总体国家安全观主题班会.pptx
- 【课件】原始人的创造+课件高中美术湘美版(2019)美术鉴赏.pptx
- 上海证券-美容护理行业周报:流量加快去中心化,强运营头部品牌影响较小 -2024-.pdf
- T_CSEIA 1005—2023_能源工业互联网平台数据治理要求.pdf
- T_CDSA 504.16-2023_急流救援技术培训与考核要求.pdf
文档评论(0)