VBS如何实现*.txt文件编码格式的自动转换,如:UTF-8转ANSI或Unicode,望高手们为小弟解答,谢谢!

如:现有一文件1.txt,编码格式为UTF-8,想要结果将其文件转换为1.txt ANSI或Unicode编码格式的文件。

第1个回答  2012-11-25
大致程序如下:
myfile="1.txt"
set stm2=createobject("ADODB.Stream")
stm2.Charset ="utf-8"
stm2.Open
stm2.LoadFromFile myfile

stm2.Close
readfile = stm2.ReadText
Set Stm1 =CreateObject("ADODB.Stream")
Stm1.Type = 2
Stm1.Open
Stm1.Charset ="ANSI"
Stm1.Position = Stm1.Size
Stm1.WriteText readfile
Stm1.SaveToFile myfile,2
Stm1.Close
set Stm1 = nothing
set Stm2 = nothing追问

Stm1.Charset ="ANSI"

 

这里好像有问题,不能转换成ANSI格式,如果使用Unicode格式还是可以成功转换,是不是ADODB.Stream本身不支持ANSI格式,运行脚本会报错

追答

关于Charset 属性,指示用于转换文本 Stream 内容的字符集。
  设置或返回 String 值,该值指定用于转换 String 内容的字符集。默认值为“Unicode”。所允许的值是作为 Internet 字符集字符串(例如,“iso-8859-1”,“Windows-1252”等)被传递到接口的典型字符串。有关系统支持的字符集字符串的列表,请参阅 Windows 注册表中 HKEY_CLASSES_ROOT\MIME\Database\Charset 的子键。

本回答被提问者采纳
相似回答