VBS读取文本文件函数ReadTextFile

标签: , , , ,

前VBS吧吧主次碳酸钴写的读取文本文件的自定义函数,据说可以自动判断无BOM的UTF-8编码。

Function ReadTextFile(Path)
    'Author 次碳酸钴
    'This Function is useful for no BOM UTF-8
    On Error Resume Next
    Dim Size,Text,Charset
    With CreateObject("ADODB.Stream")
        .Open:.Type=1:.LoadFromFile Path
        Size=.Size:If Size=0 Then Exit Function
        If AscB(.Read(1))<>239 Then Size=Size+3
        .Position=0:.Type=2:.Charset="UTF-8"
        Err.Clear
        Text=.ReadText
        If Err.Number Then
            Charset="Unicode"
        Else
            .Close:.Open
            .WriteText Text
            If Size<>.Size Then
                Charset="GBK"
            Else
                Charset="UTF-8"
            End If
        End If
        .Close:.Open:.Type=1:.LoadFromFile Path
        .Position=0:.Type=2:.Charset=Charset
        ReadTextFile=.ReadText
    End With
End Function

Demon注:仅为复制粘贴,未分析测试,不保证正确性,使用前请自行斟酌。

原文链接:http://tieba.baidu.com/p/1539166222

赞赏

微信赞赏支付宝赞赏

随机文章:

  1. /DYNAMICBASE链接选项
  2. Windows 7在桌面创建宽带连接快捷方式
  3. VBS里的变量名和标识符(Identifiers)
  4. 一个VBS恶作剧程序
  5. 又遇VBS中&H前缀十六进制数的陷阱

留下回复