编码转换封装对象,获取机器上可转换的编码

易语言 2020-07-25 00:08:22

编码转换封装对象,获取机器上可转换的编码

使用本子程序前,一定要确认,您转换的编码是本机器支持的编码
' 想知道本机器都支持什么编码,可以使用 扫描可用编码 程序扫描一下
转前变体型.赋值 (数据流, ) ' 将数据流赋值给变体
转前对象.创建 (“adodb.stream”, ) ' 创建转前数据流处理对象
转前对象.写属性 (“Type”, 1) ' Type是执行类型,现在Type=1,表示我们要处理或读写二进制数据
转前对象.写属性 (“Mode”, 3) ' Mode是返回模式
转前对象.方法 (“Open”, ) ' 打开对象
' Type和Mode被锁定,不可以更改
转前对象.方法 (“Write”, 转前变体型) ' 写入二进制数据流
转前对象.写属性 (“Position”, 0) ' Position数据返回指针,写上了0就代表关闭了数据返回通道
' 这时Type和Mode解锁,并且预处理数据
转前对象.写属性 (“Type”, 2) ' Type执行类型,现在Type=2,表示我们要处理或读写字符流
转前对象.写属性 (“Charset”, 转换前编码) ' 提供从什么编码转换成字符流(即GB2312)
转GB2312 = 转前对象.文本方法 (“ReadText”, ) ' 读出字符流
转前对象.方法 (“Close”, )
转后对象.创建 (“adodb.stream”, ) ' 创建转后数据流处理对象
转后对象.写属性 (“Charset”, 转换后编码) ' 提供从字符流(GB2312)转换成什么编码
转后对象.写属性 (“Type”, 2) ' Type执行类型,现在Type=2,表示我们要处理或读写字符流
转后对象.写属性 (“Mode”, 3) ' Mode是返回模式
转后对象.方法 (“Open”, ) ' 打开对象
' 这时Type和Mode是锁定状态,不可以更改数据
转后对象.方法 (“WriteText”, 转GB2312)
转后对象.写属性 (“Position”, 0) ' Position表示数据指针,如果填写0表示关闭返回通道
' 这时Type和Mode被解锁
转后对象.写属性 (“Type”, 1) ' Type执行类型,现在Type=1,表示我们要处理或读写数据流
转后变体型 = 转后对象.通用方法 (“Read”, ) ' 读出数据流
字节集 = 转后变体型.取字节集 ()
转后对象.方法 (“Close”, )