精易论坛

标题: xml文件读写(解决UTF8等编码问题) [打印本页]

作者: wlsk888    时间: 2019-11-20 15:27
标题: xml文件读写(解决UTF8等编码问题)
xml文件读写(解决UTF8等编码问题),也许论坛有,但我没找到合适的。。。模块可以不用,读取不自动判断,全部设成成gb2312应该也行吧
.版本 2
.支持库 spec

.子程序 读文本文件, 文本型
.参数 文件名, 文本型
.参数 文件编码, 文本型, 可空, 默认:自动判断,未知为"gb2312",可以是Adodb.Stream支持的各种编码,如“UTF-8”
.局部变量 bm, 对象
.局部变量 Jucode, 整数型

.如果真 (是否为空 (文件编码))
    Jucode = 文件_取文本编码 (文件名)
    调试输出 (Jucode)
    .判断开始 (Jucode = 1)
        文件编码 = “utf-8”
    .判断 (Jucode = 2)
        文件编码 = “unicode”
    .判断 (Jucode = 3)
        文件编码 = “unicodeFFFE”
    .默认
        文件编码 = “gb2312”
    .判断结束

.如果真结束
bm.创建 (“Adodb.Stream”, )
bm.写属性 (“Type”, 2)
bm.写属性 (“mode”, 3)
bm.写属性 (“charset”, 文件编码)
bm.方法 (“Open”, )
bm.方法 (“loadfromfile”, 文件名)
返回 (bm.通用方法 (“readtext”, ).取文本 ())


.子程序 写UTF8文件
.参数 地址, 文本型
.参数 数据, 文本型
.参数 写bom, 逻辑型, 可空, 默认不写bom
.局部变量 bm, 对象
.局部变量 bm1, 对象

.如果真 (是否为空 (写bom))
    写bom = 假
.如果真结束
bm.创建 (“Adodb.Stream”, )
bm.写属性 (“Type”, 2)
bm.写属性 (“mode”, 3)
bm.写属性 (“charset”, “utf-8”)
bm.方法 (“Open”, )
bm.方法 (“WriteText”, 数据)
bm.写属性 (“Position”, 3)
' ----------------------------
bm1.创建 (“Adodb.Stream”, )
bm1.写属性 (“mode”, 3)
bm1.写属性 (“Type”, 1)
bm1.方法 (“open”, )
bm.方法 (“CopyTo”, bm1)
.如果 (写bom = 真)
    bm.方法 (“SaveToFile”, 地址, 2)
.否则
    bm1.方法 (“SaveToFile”, 地址, 2)
.如果结束
' ------------------------------
bm.方法 (“flush”, )
bm.方法 (“Close ”, )
bm1.方法 (“flush”, )
bm1.方法 (“Close ”, )
bm.清除 ()
bm1.清除 ()



作者: 南方填表    时间: 2019-11-20 16:21
66666666666666666
作者: wjswzj0    时间: 2019-11-21 09:28
学习一下,感谢分享
作者: sampo    时间: 2019-11-21 20:26
学习一下,感谢分享
作者: 唯一色彩7    时间: 2019-11-23 09:42
支持开源~!感谢分享
作者: 飞鱼软件    时间: 2020-2-7 16:50
感谢分享,支持开源
作者: guxin    时间: 2020-3-13 19:46
需要这个拿走了




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4