|

本帖最后由 萧阳天 于 2015-8-4 23:44 编辑
原精易模块里的编码_Ansi到Unicode命令如果中间有字母数字 后面的Ansi会无法继续转换到Unicode
下面是修改后的代码
|
编码_Ansi到Unicode | 字节集 | | |
Ansi | 文本型 | | | | 非标准Unicode编码 | 逻辑型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 数据2 | 字节集 | | | 长度 | 整数型 | | | 字节集 | 字节集 | | | 计次 | 整数型 | | | 临时文本 | 文本型 | | | 是否有数字字母 | 逻辑型 | | | 临时数组 | 文本型 | | 0 | 临时计次 | 整数型 | | |
如果真 (Ansi = “”) 返回 ({ })字节集 = 到字节集 (Ansi)临时计次 = 0 临时文本 = Ansi 计次循环首 (取字节集长度 (字节集 ), 计次 ) 临时计次 = 临时计次 + 1  判断 (字节集 [计次 ] > 44 且 字节集 [计次 ] < 58 且 字节集 [计次 ] ≠ 47 )  加入成员 (临时数组, 取文本左边 (临时文本, 临时计次 - 1 ))   临时文本 = 取文本右边 (Ansi, 取字节集长度 (字节集 ) - 计次 )  临时计次 = 0   是否有数字字母 = 真  判断 (字节集 [计次 ] > 64 且 字节集 [计次 ] < 91 )  加入成员 (临时数组, 取文本左边 (临时文本, 临时计次 - 1 ))   临时文本 = 取文本右边 (Ansi, 取字节集长度 (字节集 ) - 计次 )  临时计次 = 0   是否有数字字母 = 真  判断 (字节集 [计次 ] > 96 且 字节集 [计次 ] < 123 )  加入成员 (临时数组, 取文本左边 (临时文本, 临时计次 - 1 ))   临时文本 = 取文本右边 (Ansi, 取字节集长度 (字节集 ) - 计次 )  临时计次 = 0   是否有数字字母 = 真   如果 (计次 = 取字节集长度 (字节集 ) 且 临时文本 ≠ “”)  加入成员 (临时数组, 临时文本 )           计次循环尾 () 如果 (是否有数字字母 = 假) 长度 = MultiByteToWideChar (936, 0, Ansi, -1, { }, 0 ) 数据2 = 取空白字节集 (长度 × 2 ) MultiByteToWideChar (936, 0, Ansi, -1, 数据2, 长度 × 2 ) 如果真 (非标准Unicode编码 )  数据2 = 取字节集左边 (数据2, 取字节集长度 (数据2 ) - 2 )   临时文本 = Ansi  计次循环首 (取数组成员数 (临时数组 ), 计次 )  长度 = MultiByteToWideChar (936, 0, 临时数组 [计次 ], -1, { }, 0 )  数据2 = 取空白字节集 (长度 × 2 ) MultiByteToWideChar (936, 0, 临时数组 [计次 ], -1, 数据2, 长度 × 2 )  如果真 (非标准Unicode编码 )   数据2 = 取字节集左边 (数据2, 取字节集长度 (数据2 ) - 2 ) 临时文本 = 文本_替换 (临时文本, 1, , , 临时数组 [计次], 到文本 (数据2)) 计次循环尾 () 数据2 = 到字节集 (临时文本 )返回 (数据2)
|
|