zoukankan      html  css  js  c++  java
  • vbs 读unicode 编码格式的文件

    使用VBS 写了一个函数来读取一个txt文件,函数如下:

    Dim fso,hf
    Function readProgFile(byval progFileName)
            Dim progStrLine
            progStrLine = ""
              
             Set fso = CreateObject("Scripting.FileSystemObject")
             Set hf = fso.OpenTextFile(progFileName)
        
        
              Do Until hf.atendofstream 
                 progStrLine = progStrLine+ hf.readline+ vbCrLf
            Loop
    
            hf.close
            readProgFile = progStrLine
        
    End Function

    其中参数progFileName 是txt 文件的文件名;txt是unicode 编码格式,里面有中文。用该函数读取的txt 里的内容中文部分都是乱码;

    最后发现这是函数OpenTextFile 的参数设置出了问题。

    OpenTextFile 函数如下:

    object.OpenTextFile(filename[, iomode[, create[, format]]])

    参数

    object

    必选项。应为 FileSystemObject 对象的名称。

    filename

    必选项。字符串表达式,指明要打开的文件名称。

    iomode

    可选项。输入/输出模式,是下列三个常数之一:ForReading,ForWriting,或 ForAppending。

    iomode 参数可为下列设置之一:

    create

    可选项。Boolean 值,指出当指定的 filename 不存在时是否能够创建新文件。允许创建新文件时为 True,否则为False。默认值为 False

    format

    可选项。三个 Tristate 值之一,指出以何种格式打开文件。若忽略此参数,则文件以 ASCII 格式打开。

     所以openText 里面的参数format 应该选择使用unicode 格式打开,修改为如下:

     Set hf = fso.OpenTextFile(progFileName,1,0,-1)'read unicode file

    中文读取正确了,问题解决!

     

     

     

     

     

  • 相关阅读:
    联赛练习:好数
    CF703D Mishka and Interesting sum
    POJ2689 Prime Distance
    联赛练习:draw
    题解:luogu P2634 [国家集训队]聪聪可可
    题解:luoguP3806 【模板】点分治1(在线处理询问做法)
    题解:luogu P1073 最优贸易
    题解报告——聪聪与可可
    题解报告——森林
    题解报告——星际战争
  • 原文地址:https://www.cnblogs.com/small-lazybee/p/11208211.html
Copyright © 2011-2022 走看看