js以utf-8编码保存到txt

前言

js中,保存文件的方式可以调用fso组件,但它不支持utf-8编码,只能读取。那么我们可以使用,处理编码方面强大的adodb.Stream来处理。

AdoDB.Stream可以读写不同编码的文件(也可以是url流),包括二进制数据。
ADO的Stream对象,提供了存取二进制数据或者文本流。从而实现对流的读、写和管理等操作。

代码

1
2
3
4
5
6
7
8
var str="测试"
var stm = new ActiveXObject("adodb.Stream")
stm.Mode=3 //1=只读 2=只写 3=读写
stm.charset="utf-8" //指定字符编码为utf-8
stm.OPen()
stm.WriteText(str)
stm.SaveToFile("test.txt",2) //1=不覆盖 2=覆盖
stm.Close() //关闭流

保存为js文件,运行后程序如果发现test.txt文件不存在,会自动创建。内容是我们定义的字符串“测试”,编码为utf-8。

知识点

1
stm.charset="utf-8" //指定字符编码为utf-8

如果想要ANSI编码,以上utf-8替换成gb2312。charset不定义的话,默认编码是Unicode。

参考文献

javascript/jscript文件操作
Adodb.Stream组件详解