VB6编程中文件字符编码的简单转换,UTT-8和ANSI以及其它字符集互转

本文介绍了一种使用Adodb.Stream在VB6中实现不同字符集(如ANSI与UTF-8)间转换的方法。该方法简洁高效,适用于需要进行文本编码转换的小型应用程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近用VB6给公司写个小程序,碰到ANSI与UTF-8互相转换的问题,到网上搜的都是比较复杂的算法。

偶然看到有人使用Adodb.Stream来解决问题,研究了一下确实可行,而且代码简单。分享一下。

'字符集编码转换函数,调用是带三个参数,filename文件路径,charsetIn源文件字符编码,charsetOut想要转换的字符编码
Public Sub CharConvert(ByVal fileName As String, ByVal charsetIn As String, ByVal charsetOut As String)
    Dim stIn As Stream
    Dim stOut As Stream
    Dim s As String
    Set stIn = New ADODB.Stream
    Set stOut = New ADODB.Stream
    stIn.Open
    stOut.Open
    
    '设定源文件的字符编码
    stIn.Charset = charsetIn
    '设定输出文件的字符编码
    stOut.Charset = charsetOut
    
    '读取源文件
    stIn.LoadFromFile (fileName)
    s = stIn.ReadText
    
    '将源文件流复制给输出文件流
    stIn.CopyTo stOut
    
    '输出文件并覆盖
    stOut.WriteText s
    stOut.SaveToFile fileName, adSaveCreateOverWrite
    
    stIn.Close
    stOut.Close
    Set stIn = Nothing
    Set stOut = Nothing
End Sub


'***************************************************************** '* 软件名称:GB/BIG5/UTF-8 文件编码批量转换程序 '* '* 版权信息:此软件由 阿勇(fxy_2002@163.com) 开发,请保留此信息!! '* 免费软件,欢迎使用!请勿用于直接出售或其它商业用途。 '* '* 作者主页:pc-soft.cn e-mail:fxy_2002@163.com '* '* 程序功能:将 GB、BIG5、UTF-8 文件互转换,方便的批量处理能力, '* 主要用于网站文件编码方式的整体转换上。 '* '* 特别提醒:程序不保证文件绝对安全,使用前请备份! '* '* 开发环境:Visual Basic6.0(SP6) 简体中文、Windows XP(SP2) 简体中文 '* 在其它环境下未做测试,因此程序不一定能正常运行。 '* '* 已知缺陷:对于 BIG5 编码文件,若执行 UTF-8 转换,保存到 UTF-8 文 '* 件中的是伪编码,实际上是 GBK 繁体字的 UTF-8 编码,而非 BIG5。 '* 这么做的原因在于在简体 Windows 系统中,我还没有找到好的办法对 '* BIG5 进行 UTF-8 编码,只能对 GBK 进行 UTF-8 转换,使之看起来 '* 象一个繁体字文件。 '* '* 最后修改:2006/06/15 '* '***************************************************************** 使用说明: 软件使用VB6开发,如果在某些电脑上无法使用,多半是缺少运行库的原因。 碰到这种情况,请在互网上下载 MSVBVM60.DLL 文件到软件所在目录即可。这个 文件使用很普遍,许多地方可以下载。如果找不到,微软的网站一定存在! ---------------------------------------------------------------------- 开发背景: 某天,应老板的要求,需要将一个 GB 编码的 WEB 应用改变成 UTF-8 编码, 整个 WEB 程序涉及 300 多个 ASP HTML 文件....于是乎,我上网搜索能将 GB 文件批量转换UTF-8 编码的软件。找来找去,多是一些仅能在网页中实时 编码VBS、JS 或 PHP 脚本,而没有进行大量文件编码转换的工具。 因为时间紧迫,后来只好使用最原始的办法,用 Windows 的记事本打开一个 个 ASP 文件,使用“另存为...”的方式变成 UTF-8 编码。真是郁闷....最后, 有了这个软件! --------------------------------------------------------------------- 版本历史: 1.3 -- 当前版本,批量查找时可以只查找包含指定文本内容的文件 1.21 -- 生成 UTF-8 时可选是否带BOM(标示自身编码方式字节 序的特殊字串,BYTE ORDER MARK) 1.2 -- 添加在转换过程中进行文件内容添加、替换功能;该功能使本软件也 能作为一个文本替换软件使用。 1.1 -- 未公开发布,完成 GB、BIG、UTF-8 三种编码互转换。 1.0 -- 未公开发布(自用),完成 GB 与 UTF-8 编码互转换功能。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值